[Java][jersey2] fix oneOf, anyOf documentation (#6695)

* fix oneOf doc in Java jersey2

* fix sample code

* add new files

* minor tweat to the doc
This commit is contained in:
William Cheng
2020-06-23 21:58:16 +08:00
committed by GitHub
parent a2a1ac93a4
commit 6b877efe1f
14 changed files with 450 additions and 77 deletions

View File

@@ -0,0 +1,38 @@
# {{classname}}
{{#description}}
{{&description}}
{{/description}}
## anyOf schemas
{{#anyOf}}
* [{{{.}}}]({{{.}}}.md)
{{/anyOf}}
{{#isNullable}}
NOTE: this class is nullable.
{{/isNullable}}
## Example
```java
// Import classes:
import {{{package}}}.{{{classname}}};
{{#anyOf}}
import {{{package}}}.{{{.}}};
{{/anyOf}}
public class Example {
public static void main(String[] args) {
{{classname}} example{{classname}} = new {{classname}}();
{{#anyOf}}
// create a new {{{.}}}
{{{.}}} example{{{.}}} = new {{{.}}}();
// set {{{classname}}} to {{{.}}}
example{{classname}}.setActualInstance(example{{{.}}});
// to get back the {{{.}}} set earlier
{{{.}}} test{{{.}}} = ({{{.}}}) example{{classname}}.getActualInstance();
{{/anyOf}}
}
}
```

View File

@@ -0,0 +1,19 @@
{{#models}}{{#model}}
{{#isEnum}}
{{>enum_outer_doc}}
{{/isEnum}}
{{^isEnum}}
{{^oneOf.isEmpty}}
{{>model_oneof_doc}}
{{/oneOf.isEmpty}}
{{^anyOf.isEmpty}}
{{>model_anyof_doc}}
{{/anyOf.isEmpty}}
{{^anyOf}}
{{^oneOf}}
{{>pojo_doc}}
{{/oneOf}}
{{/anyOf}}
{{/isEnum}}
{{/model}}{{/models}}

View File

@@ -0,0 +1,38 @@
# {{classname}}
{{#description}}
{{&description}}
{{/description}}
## oneOf schemas
{{#oneOf}}
* [{{{.}}}]({{{.}}}.md)
{{/oneOf}}
{{#isNullable}}
NOTE: this class is nullable.
{{/isNullable}}
## Example
```java
// Import classes:
import {{{package}}}.{{{classname}}};
{{#oneOf}}
import {{{package}}}.{{{.}}};
{{/oneOf}}
public class Example {
public static void main(String[] args) {
{{classname}} example{{classname}} = new {{classname}}();
{{#oneOf}}
// create a new {{{.}}}
{{{.}}} example{{{.}}} = new {{{.}}}();
// set {{{classname}}} to {{{.}}}
example{{classname}}.setActualInstance(example{{{.}}});
// to get back the {{{.}}} set earlier
{{{.}}} test{{{.}}} = ({{{.}}}) example{{classname}}.getActualInstance();
{{/oneOf}}
}
}
```

View File

@@ -2,14 +2,36 @@
# Fruit
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**color** | **String** | | [optional]
**cultivar** | **String** | | [optional]
**origin** | **String** | | [optional]
**lengthCm** | [**BigDecimal**](BigDecimal.md) | | [optional]
## oneOf schemas
* [Apple](Apple.md)
* [Banana](Banana.md)
## Example
```java
// Import classes:
import org.openapitools.client.model.Fruit;
import org.openapitools.client.model.Apple;
import org.openapitools.client.model.Banana;
public class Example {
public static void main(String[] args) {
Fruit exampleFruit = new Fruit();
// create a new Apple
Apple exampleApple = new Apple();
// set Fruit to Apple
exampleFruit.setActualInstance(exampleApple);
// to get back the Apple set earlier
Apple testApple = (Apple) exampleFruit.getActualInstance();
// create a new Banana
Banana exampleBanana = new Banana();
// set Fruit to Banana
exampleFruit.setActualInstance(exampleBanana);
// to get back the Banana set earlier
Banana testBanana = (Banana) exampleFruit.getActualInstance();
}
}
```

View File

@@ -2,14 +2,38 @@
# FruitReq
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**cultivar** | **String** | |
**mealy** | **Boolean** | | [optional]
**lengthCm** | [**BigDecimal**](BigDecimal.md) | |
**sweet** | **Boolean** | | [optional]
## oneOf schemas
* [AppleReq](AppleReq.md)
* [BananaReq](BananaReq.md)
NOTE: this class is nullable.
## Example
```java
// Import classes:
import org.openapitools.client.model.FruitReq;
import org.openapitools.client.model.AppleReq;
import org.openapitools.client.model.BananaReq;
public class Example {
public static void main(String[] args) {
FruitReq exampleFruitReq = new FruitReq();
// create a new AppleReq
AppleReq exampleAppleReq = new AppleReq();
// set FruitReq to AppleReq
exampleFruitReq.setActualInstance(exampleAppleReq);
// to get back the AppleReq set earlier
AppleReq testAppleReq = (AppleReq) exampleFruitReq.getActualInstance();
// create a new BananaReq
BananaReq exampleBananaReq = new BananaReq();
// set FruitReq to BananaReq
exampleFruitReq.setActualInstance(exampleBananaReq);
// to get back the BananaReq set earlier
BananaReq testBananaReq = (BananaReq) exampleFruitReq.getActualInstance();
}
}
```

View File

@@ -2,14 +2,36 @@
# GmFruit
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**color** | **String** | | [optional]
**cultivar** | **String** | | [optional]
**origin** | **String** | | [optional]
**lengthCm** | [**BigDecimal**](BigDecimal.md) | | [optional]
## anyOf schemas
* [Apple](Apple.md)
* [Banana](Banana.md)
## Example
```java
// Import classes:
import org.openapitools.client.model.GmFruit;
import org.openapitools.client.model.Apple;
import org.openapitools.client.model.Banana;
public class Example {
public static void main(String[] args) {
GmFruit exampleGmFruit = new GmFruit();
// create a new Apple
Apple exampleApple = new Apple();
// set GmFruit to Apple
exampleGmFruit.setActualInstance(exampleApple);
// to get back the Apple set earlier
Apple testApple = (Apple) exampleGmFruit.getActualInstance();
// create a new Banana
Banana exampleBanana = new Banana();
// set GmFruit to Banana
exampleGmFruit.setActualInstance(exampleBanana);
// to get back the Banana set earlier
Banana testBanana = (Banana) exampleGmFruit.getActualInstance();
}
}
```

View File

@@ -2,24 +2,45 @@
# Mammal
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**hasBaleen** | **Boolean** | | [optional]
**hasTeeth** | **Boolean** | | [optional]
**className** | **String** | |
**type** | [**TypeEnum**](#TypeEnum) | | [optional]
## Enum: TypeEnum
Name | Value
---- | -----
PLAINS | "plains"
MOUNTAIN | "mountain"
GREVYS | "grevys"
## oneOf schemas
* [Pig](Pig.md)
* [Whale](Whale.md)
* [Zebra](Zebra.md)
## Example
```java
// Import classes:
import org.openapitools.client.model.Mammal;
import org.openapitools.client.model.Pig;
import org.openapitools.client.model.Whale;
import org.openapitools.client.model.Zebra;
public class Example {
public static void main(String[] args) {
Mammal exampleMammal = new Mammal();
// create a new Pig
Pig examplePig = new Pig();
// set Mammal to Pig
exampleMammal.setActualInstance(examplePig);
// to get back the Pig set earlier
Pig testPig = (Pig) exampleMammal.getActualInstance();
// create a new Whale
Whale exampleWhale = new Whale();
// set Mammal to Whale
exampleMammal.setActualInstance(exampleWhale);
// to get back the Whale set earlier
Whale testWhale = (Whale) exampleMammal.getActualInstance();
// create a new Zebra
Zebra exampleZebra = new Zebra();
// set Mammal to Zebra
exampleMammal.setActualInstance(exampleZebra);
// to get back the Zebra set earlier
Zebra testZebra = (Zebra) exampleMammal.getActualInstance();
}
}
```

View File

@@ -3,12 +3,39 @@
# NullableShape
The value may be a shape or the 'null' value. The 'nullable' attribute was introduced in OAS schema >= 3.0 and has been deprecated in OAS schema >= 3.1.
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**shapeType** | **String** | |
**quadrilateralType** | **String** | |
## oneOf schemas
* [Quadrilateral](Quadrilateral.md)
* [Triangle](Triangle.md)
NOTE: this class is nullable.
## Example
```java
// Import classes:
import org.openapitools.client.model.NullableShape;
import org.openapitools.client.model.Quadrilateral;
import org.openapitools.client.model.Triangle;
public class Example {
public static void main(String[] args) {
NullableShape exampleNullableShape = new NullableShape();
// create a new Quadrilateral
Quadrilateral exampleQuadrilateral = new Quadrilateral();
// set NullableShape to Quadrilateral
exampleNullableShape.setActualInstance(exampleQuadrilateral);
// to get back the Quadrilateral set earlier
Quadrilateral testQuadrilateral = (Quadrilateral) exampleNullableShape.getActualInstance();
// create a new Triangle
Triangle exampleTriangle = new Triangle();
// set NullableShape to Triangle
exampleNullableShape.setActualInstance(exampleTriangle);
// to get back the Triangle set earlier
Triangle testTriangle = (Triangle) exampleNullableShape.getActualInstance();
}
}
```

View File

@@ -2,11 +2,36 @@
# Pig
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**className** | **String** | |
## oneOf schemas
* [BasquePig](BasquePig.md)
* [DanishPig](DanishPig.md)
## Example
```java
// Import classes:
import org.openapitools.client.model.Pig;
import org.openapitools.client.model.BasquePig;
import org.openapitools.client.model.DanishPig;
public class Example {
public static void main(String[] args) {
Pig examplePig = new Pig();
// create a new BasquePig
BasquePig exampleBasquePig = new BasquePig();
// set Pig to BasquePig
examplePig.setActualInstance(exampleBasquePig);
// to get back the BasquePig set earlier
BasquePig testBasquePig = (BasquePig) examplePig.getActualInstance();
// create a new DanishPig
DanishPig exampleDanishPig = new DanishPig();
// set Pig to DanishPig
examplePig.setActualInstance(exampleDanishPig);
// to get back the DanishPig set earlier
DanishPig testDanishPig = (DanishPig) examplePig.getActualInstance();
}
}
```

View File

@@ -2,12 +2,36 @@
# Quadrilateral
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**shapeType** | **String** | |
**quadrilateralType** | **String** | |
## oneOf schemas
* [ComplexQuadrilateral](ComplexQuadrilateral.md)
* [SimpleQuadrilateral](SimpleQuadrilateral.md)
## Example
```java
// Import classes:
import org.openapitools.client.model.Quadrilateral;
import org.openapitools.client.model.ComplexQuadrilateral;
import org.openapitools.client.model.SimpleQuadrilateral;
public class Example {
public static void main(String[] args) {
Quadrilateral exampleQuadrilateral = new Quadrilateral();
// create a new ComplexQuadrilateral
ComplexQuadrilateral exampleComplexQuadrilateral = new ComplexQuadrilateral();
// set Quadrilateral to ComplexQuadrilateral
exampleQuadrilateral.setActualInstance(exampleComplexQuadrilateral);
// to get back the ComplexQuadrilateral set earlier
ComplexQuadrilateral testComplexQuadrilateral = (ComplexQuadrilateral) exampleQuadrilateral.getActualInstance();
// create a new SimpleQuadrilateral
SimpleQuadrilateral exampleSimpleQuadrilateral = new SimpleQuadrilateral();
// set Quadrilateral to SimpleQuadrilateral
exampleQuadrilateral.setActualInstance(exampleSimpleQuadrilateral);
// to get back the SimpleQuadrilateral set earlier
SimpleQuadrilateral testSimpleQuadrilateral = (SimpleQuadrilateral) exampleQuadrilateral.getActualInstance();
}
}
```

View File

@@ -2,12 +2,36 @@
# Shape
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**shapeType** | **String** | |
**quadrilateralType** | **String** | |
## oneOf schemas
* [Quadrilateral](Quadrilateral.md)
* [Triangle](Triangle.md)
## Example
```java
// Import classes:
import org.openapitools.client.model.Shape;
import org.openapitools.client.model.Quadrilateral;
import org.openapitools.client.model.Triangle;
public class Example {
public static void main(String[] args) {
Shape exampleShape = new Shape();
// create a new Quadrilateral
Quadrilateral exampleQuadrilateral = new Quadrilateral();
// set Shape to Quadrilateral
exampleShape.setActualInstance(exampleQuadrilateral);
// to get back the Quadrilateral set earlier
Quadrilateral testQuadrilateral = (Quadrilateral) exampleShape.getActualInstance();
// create a new Triangle
Triangle exampleTriangle = new Triangle();
// set Shape to Triangle
exampleShape.setActualInstance(exampleTriangle);
// to get back the Triangle set earlier
Triangle testTriangle = (Triangle) exampleShape.getActualInstance();
}
}
```

View File

@@ -3,12 +3,39 @@
# ShapeOrNull
The value may be a shape or the 'null' value. This is introduced in OAS schema >= 3.1.
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**shapeType** | **String** | |
**quadrilateralType** | **String** | |
## oneOf schemas
* [Quadrilateral](Quadrilateral.md)
* [Triangle](Triangle.md)
NOTE: this class is nullable.
## Example
```java
// Import classes:
import org.openapitools.client.model.ShapeOrNull;
import org.openapitools.client.model.Quadrilateral;
import org.openapitools.client.model.Triangle;
public class Example {
public static void main(String[] args) {
ShapeOrNull exampleShapeOrNull = new ShapeOrNull();
// create a new Quadrilateral
Quadrilateral exampleQuadrilateral = new Quadrilateral();
// set ShapeOrNull to Quadrilateral
exampleShapeOrNull.setActualInstance(exampleQuadrilateral);
// to get back the Quadrilateral set earlier
Quadrilateral testQuadrilateral = (Quadrilateral) exampleShapeOrNull.getActualInstance();
// create a new Triangle
Triangle exampleTriangle = new Triangle();
// set ShapeOrNull to Triangle
exampleShapeOrNull.setActualInstance(exampleTriangle);
// to get back the Triangle set earlier
Triangle testTriangle = (Triangle) exampleShapeOrNull.getActualInstance();
}
}
```

View File

@@ -2,12 +2,45 @@
# Triangle
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**shapeType** | **String** | |
**triangleType** | **String** | |
## oneOf schemas
* [EquilateralTriangle](EquilateralTriangle.md)
* [IsoscelesTriangle](IsoscelesTriangle.md)
* [ScaleneTriangle](ScaleneTriangle.md)
## Example
```java
// Import classes:
import org.openapitools.client.model.Triangle;
import org.openapitools.client.model.EquilateralTriangle;
import org.openapitools.client.model.IsoscelesTriangle;
import org.openapitools.client.model.ScaleneTriangle;
public class Example {
public static void main(String[] args) {
Triangle exampleTriangle = new Triangle();
// create a new EquilateralTriangle
EquilateralTriangle exampleEquilateralTriangle = new EquilateralTriangle();
// set Triangle to EquilateralTriangle
exampleTriangle.setActualInstance(exampleEquilateralTriangle);
// to get back the EquilateralTriangle set earlier
EquilateralTriangle testEquilateralTriangle = (EquilateralTriangle) exampleTriangle.getActualInstance();
// create a new IsoscelesTriangle
IsoscelesTriangle exampleIsoscelesTriangle = new IsoscelesTriangle();
// set Triangle to IsoscelesTriangle
exampleTriangle.setActualInstance(exampleIsoscelesTriangle);
// to get back the IsoscelesTriangle set earlier
IsoscelesTriangle testIsoscelesTriangle = (IsoscelesTriangle) exampleTriangle.getActualInstance();
// create a new ScaleneTriangle
ScaleneTriangle exampleScaleneTriangle = new ScaleneTriangle();
// set Triangle to ScaleneTriangle
exampleTriangle.setActualInstance(exampleScaleneTriangle);
// to get back the ScaleneTriangle set earlier
ScaleneTriangle testScaleneTriangle = (ScaleneTriangle) exampleTriangle.getActualInstance();
}
}
```

View File

@@ -100,4 +100,33 @@ public class MammalTest {
// TODO: test type
}
/**
* Test code sample
*/
@Test
public void codeSampleTest() {
Mammal exampleMammal = new Mammal();
// create a new Pig
Pig examplePig = new Pig();
// set Mammal to Pig
exampleMammal.setActualInstance(examplePig);
// to get back the Pig set earlier
Pig testPig = (Pig) exampleMammal.getActualInstance();
// create a new Whale
Whale exampleWhale = new Whale();
// set Mammal to Whale
exampleMammal.setActualInstance(exampleWhale);
// to get back the Whale set earlier
Whale testWhale = (Whale) exampleMammal.getActualInstance();
// create a new Zebra
Zebra exampleZebra = new Zebra();
// set Mammal to Zebra
exampleMammal.setActualInstance(exampleZebra);
// to get back the Zebra set earlier
Zebra testZebra = (Zebra) exampleMammal.getActualInstance();
}
}