Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: java client APIC-160 #29

Merged
merged 24 commits into from
Dec 14, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -14,3 +14,6 @@ yarn-error.log
**/dist

.vscode
target

**/.DS_Store
20 changes: 20 additions & 0 deletions clients/algoliasearch-client-java-2/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
*.class

# Mobile Tools for Java (J2ME)
.mtj.tmp/

# Package Files #
*.jar
*.war
*.ear

# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*

# build files
**/target
target
.gradle
build

.openapi-generator
21 changes: 21 additions & 0 deletions clients/algoliasearch-client-java-2/.openapi-generator-ignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# OpenAPI Generator Ignore
# Generated by openapi-generator https://github.com/openapitools/openapi-generator

# Use this file to prevent files from being overwritten by the generator.
# The patterns follow closely to .gitignore or .dockerignore.

api/**
docs/**
gradle/**
src/**

.travis.yml
build.gradle
build.sbt
git_push.sh
gradle*
settings.gradle

# Selective source file
algoliasearch-core/com/algolia/auth/**
algoliasearch-core/com/algolia/Configuration.java
68 changes: 68 additions & 0 deletions clients/algoliasearch-client-java-2/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
# algoliasearch-client-java-2
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's cool!


Search API
- API version: 0.1.0

API powering the Search feature of Algolia.

*Automatically generated by the [OpenAPI Generator](https://openapi-generator.tech)*

## Requirements

Building the API client library requires:
1. Java 1.8+
2. Maven/Gradle

## Installation

To install the API client library to your local Maven repository, simply execute:

```shell
mvn clean install
```

To deploy it to a remote Maven repository instead, configure the settings of the repository and execute:

```shell
mvn clean deploy
```

Refer to the [OSSRH Guide](http://central.sonatype.org/pages/ossrh-guide.html) for more information.

### Maven users

Add this dependency to your project's POM:

```xml
<dependency>
<groupId>com.algolia</groupId>
<artifactId>algoliasearch-client-java-2</artifactId>
<version>0.1.0</version>
<scope>compile</scope>
</dependency>
```

### Gradle users

Add this dependency to your project's build file:

```groovy
compile "com.algolia:algoliasearch-client-java-2:0.1.0"
```

### Others

At first generate the JAR by executing:

```shell
mvn clean package
```

Then manually install the following JARs:

* `target/algoliasearch-client-java-2-0.1.0.jar`
* `target/lib/*.jar`

## Getting Started

Checkout the playground.
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
package com.algolia;

import java.util.List;
import java.util.Map;

/**
* Callback for asynchronous API call.
*
* @param <T> The return type
*/
public interface ApiCallback<T> {
/**
* This is called when the API call fails.
*
* @param e The exception causing the failure
* @param statusCode Status code of the response if available, otherwise it would be 0
* @param responseHeaders Headers of the response if available, otherwise it would be null
*/
void onFailure(
ApiException e,
int statusCode,
Map<String, List<String>> responseHeaders
);

/**
* This is called when the API call succeeded.
*
* @param result The result deserialized from response
* @param statusCode Status code of the response
* @param responseHeaders Headers of the response
*/
void onSuccess(
T result,
int statusCode,
Map<String, List<String>> responseHeaders
);

/**
* This is called when the API upload processing.
*
* @param bytesWritten bytes Written
* @param contentLength content length of request body
* @param done write end
*/
void onUploadProgress(long bytesWritten, long contentLength, boolean done);

/**
* This is called when the API download processing.
*
* @param bytesRead bytes Read
* @param contentLength content length of the response
* @param done Read end
*/
void onDownloadProgress(long bytesRead, long contentLength, boolean done);
}
Loading