diff options
author | Bjørn Christian Seime <bjorncs@verizonmedia.com> | 2021-06-14 14:00:09 +0200 |
---|---|---|
committer | Bjørn Christian Seime <bjorncs@verizonmedia.com> | 2021-06-14 14:00:09 +0200 |
commit | 23cbd8709a46962bf825fa3c986b4019ceca7747 (patch) | |
tree | fc149407977fbc3284a0d73a0b4f7c8a0202f6a1 /vespa-feed-client | |
parent | 291e527fb70897742f16caa4b3c7062cc6e47708 (diff) |
Export Javadoc + monitor for ABI changes
Diffstat (limited to 'vespa-feed-client')
-rw-r--r-- | vespa-feed-client/abi-spec.json | 332 | ||||
-rw-r--r-- | vespa-feed-client/pom.xml | 9 | ||||
-rw-r--r-- | vespa-feed-client/src/main/java/ai/vespa/feed/client/package-info.java | 9 |
3 files changed, 350 insertions, 0 deletions
diff --git a/vespa-feed-client/abi-spec.json b/vespa-feed-client/abi-spec.json new file mode 100644 index 00000000000..06da776b6c6 --- /dev/null +++ b/vespa-feed-client/abi-spec.json @@ -0,0 +1,332 @@ +{ + "ai.vespa.feed.client.BenchmarkingCluster": { + "superClass": "java.lang.Object", + "interfaces": [ + "ai.vespa.feed.client.Cluster" + ], + "attributes": [ + "public" + ], + "methods": [ + "public void <init>(ai.vespa.feed.client.Cluster)", + "public void dispatch(ai.vespa.feed.client.HttpRequest, java.util.concurrent.CompletableFuture)", + "public ai.vespa.feed.client.OperationStats stats()", + "public void close()" + ], + "fields": [] + }, + "ai.vespa.feed.client.DocumentId": { + "superClass": "java.lang.Object", + "interfaces": [], + "attributes": [ + "public" + ], + "methods": [ + "public static ai.vespa.feed.client.DocumentId of(java.lang.String, java.lang.String, java.lang.String)", + "public static ai.vespa.feed.client.DocumentId of(java.lang.String, java.lang.String, long, java.lang.String)", + "public static ai.vespa.feed.client.DocumentId of(java.lang.String, java.lang.String, java.lang.String, java.lang.String)", + "public static ai.vespa.feed.client.DocumentId of(java.lang.String)", + "public java.lang.String documentType()", + "public java.lang.String namespace()", + "public java.util.OptionalLong number()", + "public java.util.Optional group()", + "public java.lang.String userSpecific()", + "public boolean equals(java.lang.Object)", + "public int hashCode()", + "public java.lang.String toString()" + ], + "fields": [] + }, + "ai.vespa.feed.client.FeedClient$CircuitBreaker$State": { + "superClass": "java.lang.Enum", + "interfaces": [], + "attributes": [ + "public", + "final", + "enum" + ], + "methods": [ + "public static ai.vespa.feed.client.FeedClient$CircuitBreaker$State[] values()", + "public static ai.vespa.feed.client.FeedClient$CircuitBreaker$State valueOf(java.lang.String)" + ], + "fields": [ + "public static final enum ai.vespa.feed.client.FeedClient$CircuitBreaker$State CLOSED", + "public static final enum ai.vespa.feed.client.FeedClient$CircuitBreaker$State HALF_OPEN", + "public static final enum ai.vespa.feed.client.FeedClient$CircuitBreaker$State OPEN" + ] + }, + "ai.vespa.feed.client.FeedClient$CircuitBreaker": { + "superClass": "java.lang.Object", + "interfaces": [], + "attributes": [ + "public", + "interface", + "abstract" + ], + "methods": [ + "public abstract void success()", + "public abstract void failure()", + "public abstract ai.vespa.feed.client.FeedClient$CircuitBreaker$State state()" + ], + "fields": [] + }, + "ai.vespa.feed.client.FeedClient$OperationType": { + "superClass": "java.lang.Enum", + "interfaces": [], + "attributes": [ + "public", + "final", + "enum" + ], + "methods": [ + "public static ai.vespa.feed.client.FeedClient$OperationType[] values()", + "public static ai.vespa.feed.client.FeedClient$OperationType valueOf(java.lang.String)" + ], + "fields": [ + "public static final enum ai.vespa.feed.client.FeedClient$OperationType PUT", + "public static final enum ai.vespa.feed.client.FeedClient$OperationType UPDATE", + "public static final enum ai.vespa.feed.client.FeedClient$OperationType REMOVE" + ] + }, + "ai.vespa.feed.client.FeedClient$RetryStrategy": { + "superClass": "java.lang.Object", + "interfaces": [], + "attributes": [ + "public", + "interface", + "abstract" + ], + "methods": [ + "public boolean retry(ai.vespa.feed.client.FeedClient$OperationType)", + "public int retries()" + ], + "fields": [] + }, + "ai.vespa.feed.client.FeedClient": { + "superClass": "java.lang.Object", + "interfaces": [ + "java.io.Closeable" + ], + "attributes": [ + "public", + "interface", + "abstract" + ], + "methods": [ + "public abstract java.util.concurrent.CompletableFuture put(ai.vespa.feed.client.DocumentId, java.lang.String, ai.vespa.feed.client.OperationParameters)", + "public abstract java.util.concurrent.CompletableFuture update(ai.vespa.feed.client.DocumentId, java.lang.String, ai.vespa.feed.client.OperationParameters)", + "public abstract java.util.concurrent.CompletableFuture remove(ai.vespa.feed.client.DocumentId, ai.vespa.feed.client.OperationParameters)", + "public abstract ai.vespa.feed.client.OperationStats stats()", + "public ai.vespa.feed.client.FeedClient$CircuitBreaker$State circuitBreakerState()", + "public abstract void close(boolean)", + "public void close()" + ], + "fields": [] + }, + "ai.vespa.feed.client.FeedClientBuilder": { + "superClass": "java.lang.Object", + "interfaces": [], + "attributes": [ + "public" + ], + "methods": [ + "public static ai.vespa.feed.client.FeedClientBuilder create(java.net.URI)", + "public static ai.vespa.feed.client.FeedClientBuilder create(java.util.List)", + "public ai.vespa.feed.client.FeedClientBuilder setConnectionsPerEndpoint(int)", + "public ai.vespa.feed.client.FeedClientBuilder setMaxStreamPerConnection(int)", + "public ai.vespa.feed.client.FeedClientBuilder setSslContext(javax.net.ssl.SSLContext)", + "public ai.vespa.feed.client.FeedClientBuilder setHostnameVerifier(javax.net.ssl.HostnameVerifier)", + "public ai.vespa.feed.client.FeedClientBuilder addRequestHeader(java.lang.String, java.lang.String)", + "public ai.vespa.feed.client.FeedClientBuilder addRequestHeader(java.lang.String, java.util.function.Supplier)", + "public ai.vespa.feed.client.FeedClientBuilder setRetryStrategy(ai.vespa.feed.client.FeedClient$RetryStrategy)", + "public ai.vespa.feed.client.FeedClientBuilder setCircuitBreaker(ai.vespa.feed.client.FeedClient$CircuitBreaker)", + "public ai.vespa.feed.client.FeedClientBuilder setCertificate(java.nio.file.Path, java.nio.file.Path)", + "public ai.vespa.feed.client.FeedClientBuilder setCertificate(java.util.Collection, java.security.PrivateKey)", + "public ai.vespa.feed.client.FeedClientBuilder setCertificate(java.security.cert.X509Certificate, java.security.PrivateKey)", + "public ai.vespa.feed.client.FeedClientBuilder setCaCertificatesFile(java.nio.file.Path)", + "public ai.vespa.feed.client.FeedClientBuilder setCaCertificates(java.util.Collection)", + "public ai.vespa.feed.client.FeedClient build()" + ], + "fields": [] + }, + "ai.vespa.feed.client.FeedException": { + "superClass": "java.lang.RuntimeException", + "interfaces": [], + "attributes": [ + "public" + ], + "methods": [ + "public void <init>(java.lang.String)", + "public void <init>(java.lang.String, java.lang.Throwable)", + "public void <init>(java.lang.Throwable)" + ], + "fields": [] + }, + "ai.vespa.feed.client.GracePeriodCircuitBreaker": { + "superClass": "java.lang.Object", + "interfaces": [ + "ai.vespa.feed.client.FeedClient$CircuitBreaker" + ], + "attributes": [ + "public" + ], + "methods": [ + "public void <init>(java.time.Duration, java.time.Duration)", + "public void success()", + "public void failure()", + "public ai.vespa.feed.client.FeedClient$CircuitBreaker$State state()" + ], + "fields": [] + }, + "ai.vespa.feed.client.JsonFeeder$Builder": { + "superClass": "java.lang.Object", + "interfaces": [], + "attributes": [ + "public" + ], + "methods": [ + "public ai.vespa.feed.client.JsonFeeder$Builder withTimeout(java.time.Duration)", + "public ai.vespa.feed.client.JsonFeeder$Builder withRoute(java.lang.String)", + "public ai.vespa.feed.client.JsonFeeder$Builder withTracelevel(int)", + "public ai.vespa.feed.client.JsonFeeder build()" + ], + "fields": [] + }, + "ai.vespa.feed.client.JsonFeeder$ResultCallback": { + "superClass": "java.lang.Object", + "interfaces": [], + "attributes": [ + "public", + "interface", + "abstract" + ], + "methods": [ + "public void onNextResult(ai.vespa.feed.client.Result, java.lang.Throwable)", + "public void onError(java.lang.Throwable)", + "public void onComplete()" + ], + "fields": [] + }, + "ai.vespa.feed.client.JsonFeeder": { + "superClass": "java.lang.Object", + "interfaces": [ + "java.io.Closeable" + ], + "attributes": [ + "public" + ], + "methods": [ + "public static ai.vespa.feed.client.JsonFeeder$Builder builder(ai.vespa.feed.client.FeedClient)", + "public java.util.concurrent.CompletableFuture feedSingle(java.lang.String)", + "public java.util.concurrent.CompletableFuture feedMany(java.io.InputStream, ai.vespa.feed.client.JsonFeeder$ResultCallback)", + "public java.util.concurrent.CompletableFuture feedMany(java.io.InputStream)", + "public void close()" + ], + "fields": [] + }, + "ai.vespa.feed.client.JsonParseException": { + "superClass": "ai.vespa.feed.client.FeedException", + "interfaces": [], + "attributes": [ + "public" + ], + "methods": [ + "public void <init>(java.lang.String)", + "public void <init>(java.lang.String, java.lang.Throwable)" + ], + "fields": [] + }, + "ai.vespa.feed.client.OkCluster": { + "superClass": "java.lang.Object", + "interfaces": [ + "ai.vespa.feed.client.Cluster" + ], + "attributes": [ + "public" + ], + "methods": [ + "public void dispatch(ai.vespa.feed.client.HttpRequest, java.util.concurrent.CompletableFuture)", + "public void close()" + ], + "fields": [] + }, + "ai.vespa.feed.client.OperationParameters": { + "superClass": "java.lang.Object", + "interfaces": [], + "attributes": [ + "public" + ], + "methods": [ + "public static ai.vespa.feed.client.OperationParameters empty()", + "public ai.vespa.feed.client.OperationParameters createIfNonExistent(boolean)", + "public ai.vespa.feed.client.OperationParameters testAndSetCondition(java.lang.String)", + "public ai.vespa.feed.client.OperationParameters timeout(java.time.Duration)", + "public ai.vespa.feed.client.OperationParameters route(java.lang.String)", + "public ai.vespa.feed.client.OperationParameters tracelevel(int)", + "public boolean createIfNonExistent()", + "public java.util.Optional testAndSetCondition()", + "public java.util.Optional timeout()", + "public java.util.Optional route()", + "public java.util.OptionalInt tracelevel()", + "public boolean equals(java.lang.Object)", + "public int hashCode()", + "public java.lang.String toString()" + ], + "fields": [] + }, + "ai.vespa.feed.client.OperationStats": { + "superClass": "java.lang.Object", + "interfaces": [], + "attributes": [ + "public" + ], + "methods": [ + "public void <init>(long, java.util.Map, long, long, long, long, long, long, long)", + "public long requests()", + "public long responses()", + "public long successes()", + "public java.util.Map responsesByCode()", + "public long exceptions()", + "public long inflight()", + "public long averageLatencyMillis()", + "public long minLatencyMillis()", + "public long maxLatencyMillis()", + "public long bytesSent()", + "public long bytesReceived()", + "public java.lang.String toString()" + ], + "fields": [] + }, + "ai.vespa.feed.client.Result$Type": { + "superClass": "java.lang.Enum", + "interfaces": [], + "attributes": [ + "public", + "final", + "enum" + ], + "methods": [ + "public static ai.vespa.feed.client.Result$Type[] values()", + "public static ai.vespa.feed.client.Result$Type valueOf(java.lang.String)" + ], + "fields": [ + "public static final enum ai.vespa.feed.client.Result$Type success", + "public static final enum ai.vespa.feed.client.Result$Type conditionNotMet", + "public static final enum ai.vespa.feed.client.Result$Type failure" + ] + }, + "ai.vespa.feed.client.Result": { + "superClass": "java.lang.Object", + "interfaces": [], + "attributes": [ + "public" + ], + "methods": [ + "public ai.vespa.feed.client.Result$Type type()", + "public ai.vespa.feed.client.DocumentId documentId()", + "public java.util.Optional resultMessage()", + "public java.util.Optional traceMessage()" + ], + "fields": [] + } +}
\ No newline at end of file diff --git a/vespa-feed-client/pom.xml b/vespa-feed-client/pom.xml index 85377c25241..b0d12431c05 100644 --- a/vespa-feed-client/pom.xml +++ b/vespa-feed-client/pom.xml @@ -20,6 +20,11 @@ <dependencies> <!-- compile scope --> <dependency> + <groupId>com.yahoo.vespa</groupId> + <artifactId>annotations</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> <groupId>org.bouncycastle</groupId> <artifactId>bcpkix-jdk15on</artifactId> <scope>compile</scope> @@ -100,6 +105,10 @@ </execution> </executions> </plugin> + <plugin> + <groupId>com.yahoo.vespa</groupId> + <artifactId>abi-check-plugin</artifactId> + </plugin> </plugins> </build> </project> diff --git a/vespa-feed-client/src/main/java/ai/vespa/feed/client/package-info.java b/vespa-feed-client/src/main/java/ai/vespa/feed/client/package-info.java new file mode 100644 index 00000000000..e058b9b921e --- /dev/null +++ b/vespa-feed-client/src/main/java/ai/vespa/feed/client/package-info.java @@ -0,0 +1,9 @@ +// Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +/** + * @author bjorncs + */ + +@PublicApi +package ai.vespa.feed.client; + +import com.yahoo.api.annotations.PublicApi;
\ No newline at end of file |