Skip to content

Commit 07148b3

Browse files
committed
fix indentation for java client generator
1 parent 365968b commit 07148b3

103 files changed

Lines changed: 8425 additions & 2 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
generatorName: java
2+
outputDir: samples/client/others/java/restclient-sealedInterface
3+
library: restclient
4+
inputSpec: modules/openapi-generator/src/test/resources/3_1/oneof_polymorphism_and_inheritance.yaml
5+
templateDir: modules/openapi-generator/src/main/resources/Java
6+
additionalProperties:
7+
artifactId: sealed-interface-restClient
8+
hideGenerationTimestamp: "true"
9+
useSealedOneOfInterfaces: true
10+
useOneOfInterfaces: true
11+
serializableModel: true

modules/openapi-generator/src/main/resources/Java/oneof_interface.mustache

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
{{#vendorExtensions.x-class-extra-annotation}}
33
{{{vendorExtensions.x-class-extra-annotation}}}
44
{{/vendorExtensions.x-class-extra-annotation}}
5-
public {{>sealed}}interface {{classname}} {{#vendorExtensions.x-implements}}{{#-first}}extends {{{.}}}{{/-first}}{{^-first}}, {{{.}}}{{/-first}}{{/vendorExtensions.x-implements}}{{>permits}}{
5+
public {{>sealed}}interface {{classname}} {{#vendorExtensions.x-implements}}{{#-first}}extends {{{.}}}{{/-first}}{{^-first}}, {{{.}}}{{/-first}}{{#-last}} {{/-last}}{{/vendorExtensions.x-implements}}{{>permits}}{
66
{{#discriminator}}
77
public {{propertyType}} {{propertyGetter}}();
88
{{/discriminator}}
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{{#useSealedOneOfInterfaces}}{{#vendorExtensions.x-is-one-of-interface}}{{#permits.0}}sealed {{/permits.0}}{{/vendorExtensions.x-is-one-of-interface}}{{^permits.0}}{{#vendorExtensions.x-implements}}final {{/vendorExtensions.x-implements}}{{/permits.0}}{{/useSealedOneOfInterfaces}}
1+
{{#useSealedOneOfInterfaces}}{{#vendorExtensions.x-is-one-of-interface}}{{#permits.0}}sealed {{/permits.0}}{{/vendorExtensions.x-is-one-of-interface}}{{^permits.0}}{{#vendorExtensions.x-implements}}{{#-first}}final {{/-first}}{{/vendorExtensions.x-implements}}{{/permits.0}}{{/useSealedOneOfInterfaces}}
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# This workflow will build a Java project with Maven, and cache/restore any dependencies to improve the workflow execution time
2+
# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven
3+
#
4+
# This file is auto-generated by OpenAPI Generator (https://openapi-generator.tech)
5+
6+
name: Java CI with Maven
7+
8+
on:
9+
push:
10+
branches: [ main, master ]
11+
pull_request:
12+
branches: [ main, master ]
13+
14+
jobs:
15+
build:
16+
name: Build ByRefOrValue
17+
runs-on: ubuntu-latest
18+
strategy:
19+
matrix:
20+
java: [ 17, 21 ]
21+
steps:
22+
- uses: actions/checkout@v4
23+
- name: Set up JDK
24+
uses: actions/setup-java@v4
25+
with:
26+
java-version: ${{ matrix.java }}
27+
distribution: 'temurin'
28+
cache: maven
29+
- name: Build with Maven
30+
run: mvn -B package --no-transfer-progress --file pom.xml
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
*.class
2+
3+
# Mobile Tools for Java (J2ME)
4+
.mtj.tmp/
5+
6+
# Package Files #
7+
*.jar
8+
*.war
9+
*.ear
10+
11+
# exclude jar for gradle wrapper
12+
!gradle/wrapper/*.jar
13+
14+
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
15+
hs_err_pid*
16+
17+
# build files
18+
**/target
19+
target
20+
.gradle
21+
build
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# OpenAPI Generator Ignore
2+
# Generated by openapi-generator https://github.com/openapitools/openapi-generator
3+
4+
# Use this file to prevent files from being overwritten by the generator.
5+
# The patterns follow closely to .gitignore or .dockerignore.
6+
7+
# As an example, the C# client generator defines ApiClient.cs.
8+
# You can make changes and tell OpenAPI Generator to ignore just this file by uncommenting the following line:
9+
#ApiClient.cs
10+
11+
# You can match any string of characters against a directory, file or extension with a single asterisk (*):
12+
#foo/*/qux
13+
# The above matches foo/bar/qux and foo/baz/qux, but not foo/bar/baz/qux
14+
15+
# You can recursively match patterns against a directory, file or extension with a double asterisk (**):
16+
#foo/**/qux
17+
# This matches foo/bar/qux, foo/baz/qux, and foo/bar/baz/qux
18+
19+
# You can also negate patterns with an exclamation (!).
20+
# For example, you can ignore all files in a docs folder with the file extension .md:
21+
#docs/*.md
22+
# Then explicitly reverse the ignore rule for a single file:
23+
#!docs/README.md
Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
.github/workflows/maven.yml
2+
.gitignore
3+
.travis.yml
4+
README.md
5+
api/openapi.yaml
6+
build.gradle
7+
build.sbt
8+
docs/Addressable.md
9+
docs/Animal.md
10+
docs/Apple.md
11+
docs/Banana.md
12+
docs/Bar.md
13+
docs/BarApi.md
14+
docs/BarCreate.md
15+
docs/BarRef.md
16+
docs/BarRefOrValue.md
17+
docs/Cat.md
18+
docs/Dog.md
19+
docs/Entity.md
20+
docs/EntityRef.md
21+
docs/Extensible.md
22+
docs/Foo.md
23+
docs/FooApi.md
24+
docs/FooRef.md
25+
docs/FooRefOrValue.md
26+
docs/Fruit.md
27+
docs/FruitType.md
28+
docs/Pasta.md
29+
docs/Pizza.md
30+
docs/PizzaSpeziale.md
31+
git_push.sh
32+
gradle.properties
33+
gradle/wrapper/gradle-wrapper.jar
34+
gradle/wrapper/gradle-wrapper.properties
35+
gradlew
36+
gradlew.bat
37+
pom.xml
38+
settings.gradle
39+
src/main/AndroidManifest.xml
40+
src/main/java/org/openapitools/client/ApiClient.java
41+
src/main/java/org/openapitools/client/JavaTimeFormatter.java
42+
src/main/java/org/openapitools/client/RFC3339DateFormat.java
43+
src/main/java/org/openapitools/client/RFC3339InstantDeserializer.java
44+
src/main/java/org/openapitools/client/RFC3339JavaTimeModule.java
45+
src/main/java/org/openapitools/client/ServerConfiguration.java
46+
src/main/java/org/openapitools/client/ServerVariable.java
47+
src/main/java/org/openapitools/client/StringUtil.java
48+
src/main/java/org/openapitools/client/api/BarApi.java
49+
src/main/java/org/openapitools/client/api/FooApi.java
50+
src/main/java/org/openapitools/client/auth/ApiKeyAuth.java
51+
src/main/java/org/openapitools/client/auth/Authentication.java
52+
src/main/java/org/openapitools/client/auth/HttpBasicAuth.java
53+
src/main/java/org/openapitools/client/auth/HttpBearerAuth.java
54+
src/main/java/org/openapitools/client/model/Addressable.java
55+
src/main/java/org/openapitools/client/model/Animal.java
56+
src/main/java/org/openapitools/client/model/Apple.java
57+
src/main/java/org/openapitools/client/model/Banana.java
58+
src/main/java/org/openapitools/client/model/Bar.java
59+
src/main/java/org/openapitools/client/model/BarCreate.java
60+
src/main/java/org/openapitools/client/model/BarRef.java
61+
src/main/java/org/openapitools/client/model/BarRefOrValue.java
62+
src/main/java/org/openapitools/client/model/Cat.java
63+
src/main/java/org/openapitools/client/model/Dog.java
64+
src/main/java/org/openapitools/client/model/Entity.java
65+
src/main/java/org/openapitools/client/model/EntityRef.java
66+
src/main/java/org/openapitools/client/model/Extensible.java
67+
src/main/java/org/openapitools/client/model/Foo.java
68+
src/main/java/org/openapitools/client/model/FooRef.java
69+
src/main/java/org/openapitools/client/model/FooRefOrValue.java
70+
src/main/java/org/openapitools/client/model/Fruit.java
71+
src/main/java/org/openapitools/client/model/FruitType.java
72+
src/main/java/org/openapitools/client/model/Pasta.java
73+
src/main/java/org/openapitools/client/model/Pizza.java
74+
src/main/java/org/openapitools/client/model/PizzaSpeziale.java
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
7.21.0-SNAPSHOT
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
#
2+
# Generated by OpenAPI Generator: https://openapi-generator.tech
3+
#
4+
# Ref: https://docs.travis-ci.com/user/languages/java/
5+
#
6+
language: java
7+
jdk:
8+
- openjdk12
9+
- openjdk11
10+
- openjdk10
11+
- openjdk9
12+
- openjdk8
13+
before_install:
14+
# ensure gradlew has proper permission
15+
- chmod a+x ./gradlew
16+
script:
17+
# test using maven
18+
#- mvn test
19+
# test using gradle
20+
- gradle test
21+
# test using sbt
22+
# - sbt test
Lines changed: 162 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,162 @@
1+
# sealed-interface-restClient
2+
3+
ByRefOrValue
4+
5+
- API version: 0.0.1
6+
7+
- Generator version: 7.21.0-SNAPSHOT
8+
9+
This tests for a oneOf interface representation
10+
11+
12+
13+
*Automatically generated by the [OpenAPI Generator](https://openapi-generator.tech)*
14+
15+
## Requirements
16+
17+
Building the API client library requires:
18+
19+
1. Java 17+
20+
2. Maven/Gradle
21+
22+
## Installation
23+
24+
To install the API client library to your local Maven repository, simply execute:
25+
26+
```shell
27+
mvn clean install
28+
```
29+
30+
To deploy it to a remote Maven repository instead, configure the settings of the repository and execute:
31+
32+
```shell
33+
mvn clean deploy
34+
```
35+
36+
Refer to the [OSSRH Guide](http://central.sonatype.org/pages/ossrh-guide.html) for more information.
37+
38+
### Maven users
39+
40+
Add this dependency to your project's POM:
41+
42+
```xml
43+
<dependency>
44+
<groupId>org.openapitools</groupId>
45+
<artifactId>sealed-interface-restClient</artifactId>
46+
<version>0.0.1</version>
47+
<scope>compile</scope>
48+
</dependency>
49+
```
50+
51+
### Gradle users
52+
53+
Add this dependency to your project's build file:
54+
55+
```groovy
56+
repositories {
57+
mavenCentral() // Needed if the 'sealed-interface-restClient' jar has been published to maven central.
58+
mavenLocal() // Needed if the 'sealed-interface-restClient' jar has been published to the local maven repo.
59+
}
60+
61+
dependencies {
62+
implementation "org.openapitools:sealed-interface-restClient:0.0.1"
63+
}
64+
```
65+
66+
### Others
67+
68+
At first generate the JAR by executing:
69+
70+
```shell
71+
mvn clean package
72+
```
73+
74+
Then manually install the following JARs:
75+
76+
- `target/sealed-interface-restClient-0.0.1.jar`
77+
- `target/lib/*.jar`
78+
79+
## Getting Started
80+
81+
Please follow the [installation](#installation) instruction and execute the following Java code:
82+
83+
```java
84+
85+
import org.openapitools.client.*;
86+
import org.openapitools.client.auth.*;
87+
import org.openapitools.client.model.*;
88+
import org.openapitools.client.api.BarApi;
89+
90+
public class BarApiExample {
91+
92+
public static void main(String[] args) {
93+
ApiClient defaultClient = new ApiClient();
94+
defaultClient.setBasePath("http://localhost:8080");
95+
96+
BarApi apiInstance = new BarApi(defaultClient);
97+
BarCreate barCreate = new BarCreate(); // BarCreate |
98+
try {
99+
Bar result = apiInstance.createBar(barCreate);
100+
System.out.println(result);
101+
} catch (HttpStatusCodeException e) {
102+
System.err.println("Exception when calling BarApi#createBar");
103+
System.err.println("Status code: " + e.getStatusCode().value());
104+
System.err.println("Reason: " + e.getResponseBodyAsString());
105+
System.err.println("Response headers: " + e.getResponseHeaders());
106+
e.printStackTrace();
107+
}
108+
}
109+
}
110+
111+
```
112+
113+
## Documentation for API Endpoints
114+
115+
All URIs are relative to *http://localhost:8080*
116+
117+
Class | Method | HTTP request | Description
118+
------------ | ------------- | ------------- | -------------
119+
*BarApi* | [**createBar**](docs/BarApi.md#createBar) | **POST** /bar | Create a Bar
120+
*FooApi* | [**createFoo**](docs/FooApi.md#createFoo) | **POST** /foo | Create a Foo
121+
*FooApi* | [**getAllFoos**](docs/FooApi.md#getAllFoos) | **GET** /foo | GET all Foos
122+
123+
124+
## Documentation for Models
125+
126+
- [Addressable](docs/Addressable.md)
127+
- [Animal](docs/Animal.md)
128+
- [Apple](docs/Apple.md)
129+
- [Banana](docs/Banana.md)
130+
- [Bar](docs/Bar.md)
131+
- [BarCreate](docs/BarCreate.md)
132+
- [BarRef](docs/BarRef.md)
133+
- [BarRefOrValue](docs/BarRefOrValue.md)
134+
- [Cat](docs/Cat.md)
135+
- [Dog](docs/Dog.md)
136+
- [Entity](docs/Entity.md)
137+
- [EntityRef](docs/EntityRef.md)
138+
- [Extensible](docs/Extensible.md)
139+
- [Foo](docs/Foo.md)
140+
- [FooRef](docs/FooRef.md)
141+
- [FooRefOrValue](docs/FooRefOrValue.md)
142+
- [Fruit](docs/Fruit.md)
143+
- [FruitType](docs/FruitType.md)
144+
- [Pasta](docs/Pasta.md)
145+
- [Pizza](docs/Pizza.md)
146+
- [PizzaSpeziale](docs/PizzaSpeziale.md)
147+
148+
149+
<a id="documentation-for-authorization"></a>
150+
## Documentation for Authorization
151+
152+
Endpoints do not require authorization.
153+
154+
155+
## Recommendation
156+
157+
It's recommended to create an instance of `ApiClient` per thread in a multithreaded environment to avoid any potential issues.
158+
159+
## Author
160+
161+
162+

0 commit comments

Comments
 (0)