forked from loafle/openapi-generator-original
[Java] use x-implements (#11784)
This commit is contained in:
parent
31f0c65378
commit
877812d0ba
@ -1297,6 +1297,7 @@ public abstract class AbstractJavaCodegen extends DefaultCodegen implements Code
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings("unchecked")
|
||||||
@Override
|
@Override
|
||||||
public Map<String, Object> postProcessModels(Map<String, Object> objs) {
|
public Map<String, Object> postProcessModels(Map<String, Object> objs) {
|
||||||
// recursively add import for mapping one type to multiple imports
|
// recursively add import for mapping one type to multiple imports
|
||||||
@ -1316,6 +1317,18 @@ public abstract class AbstractJavaCodegen extends DefaultCodegen implements Code
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
List<Object> models = (List<Object>) objs.get("models");
|
||||||
|
|
||||||
|
for (Object _mo : models) {
|
||||||
|
Map<String, Object> mo = (Map<String, Object>) _mo;
|
||||||
|
CodegenModel cm = (CodegenModel) mo.get("model");
|
||||||
|
|
||||||
|
cm.getVendorExtensions().putIfAbsent("x-implements", new ArrayList<String>());
|
||||||
|
if (this.serializableModel) {
|
||||||
|
((ArrayList<String>) cm.getVendorExtensions().get("x-implements")).add("Serializable");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return postProcessModelsEnum(objs);
|
return postProcessModelsEnum(objs);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -904,9 +904,6 @@ public class JavaClientCodegen extends AbstractJavaCodegen
|
|||||||
if (this.parcelableModel) {
|
if (this.parcelableModel) {
|
||||||
((ArrayList<String>) cm.getVendorExtensions().get("x-implements")).add("Parcelable");
|
((ArrayList<String>) cm.getVendorExtensions().get("x-implements")).add("Parcelable");
|
||||||
}
|
}
|
||||||
if (this.serializableModel) {
|
|
||||||
((ArrayList<String>) cm.getVendorExtensions().get("x-implements")).add("Serializable");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return objs;
|
return objs;
|
||||||
|
@ -37,7 +37,7 @@ import javax.json.bind.annotation.JsonbCreator;
|
|||||||
**/
|
**/
|
||||||
{{/description}}
|
{{/description}}
|
||||||
{{>additionalModelTypeAnnotations}}
|
{{>additionalModelTypeAnnotations}}
|
||||||
public class {{classname}} {{#parent}}extends {{{.}}}{{/parent}}{{#serializableModel}} implements Serializable{{/serializableModel}} {
|
public class {{classname}} {{#parent}}extends {{{.}}}{{/parent}}{{#vendorExtensions.x-implements}}{{#-first}} implements {{{.}}}{{/-first}}{{^-first}}, {{{.}}}{{/-first}}{{/vendorExtensions.x-implements}} {
|
||||||
{{#vars}}{{#isEnum}}{{^isContainer}}
|
{{#vars}}{{#isEnum}}{{^isContainer}}
|
||||||
{{>enumClass}}{{/isContainer}}{{#isContainer}}{{#mostInnerItems}}
|
{{>enumClass}}{{/isContainer}}{{#isContainer}}{{#mostInnerItems}}
|
||||||
{{>enumClass}}{{/mostInnerItems}}{{/isContainer}}{{/isEnum}}
|
{{>enumClass}}{{/mostInnerItems}}{{/isContainer}}{{/isEnum}}
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{{#description}}@ApiModel(description = "{{{.}}}"){{/description}}
|
{{#description}}@ApiModel(description = "{{{.}}}"){{/description}}
|
||||||
{{>generatedAnnotation}}{{>additionalModelTypeAnnotations}}
|
{{>generatedAnnotation}}{{>additionalModelTypeAnnotations}}
|
||||||
public class {{classname}} {{#parent}}extends {{{.}}}{{/parent}} {{#serializableModel}}implements Serializable{{/serializableModel}} {
|
public class {{classname}} {{#parent}}extends {{{.}}}{{/parent}} {{#vendorExtensions.x-implements}}{{#-first}}implements {{{.}}}{{/-first}}{{^-first}}, {{{.}}}{{/-first}}{{/vendorExtensions.x-implements}} {
|
||||||
{{#vars}}
|
{{#vars}}
|
||||||
{{#isEnum}}
|
{{#isEnum}}
|
||||||
{{^isContainer}}
|
{{^isContainer}}
|
||||||
|
@ -6,7 +6,7 @@ import javax.xml.bind.annotation.*;
|
|||||||
{{/withXml}}
|
{{/withXml}}
|
||||||
|
|
||||||
{{#description}}@ApiModel(description = "{{{.}}}"){{/description}}{{>additionalModelTypeAnnotations}}{{#discriminator}}{{>typeInfoAnnotation}}{{/discriminator}}
|
{{#description}}@ApiModel(description = "{{{.}}}"){{/description}}{{>additionalModelTypeAnnotations}}{{#discriminator}}{{>typeInfoAnnotation}}{{/discriminator}}
|
||||||
public class {{classname}} {{#parent}}extends {{{.}}}{{/parent}} {{#serializableModel}}implements Serializable{{/serializableModel}} {
|
public class {{classname}} {{#parent}}extends {{{.}}}{{/parent}} {{#vendorExtensions.x-implements}}{{#-first}}implements {{{.}}}{{/-first}}{{^-first}}, {{{.}}}{{/-first}}{{/vendorExtensions.x-implements}} {
|
||||||
{{#vars}}{{#isEnum}}{{^isContainer}}
|
{{#vars}}{{#isEnum}}{{^isContainer}}
|
||||||
|
|
||||||
{{>enumClass}}{{/isContainer}}{{#isContainer}}{{#mostInnerItems}}
|
{{>enumClass}}{{/isContainer}}{{#isContainer}}{{#mostInnerItems}}
|
||||||
|
@ -25,7 +25,7 @@ import com.fasterxml.jackson.annotation.JsonProperty;
|
|||||||
*/
|
*/
|
||||||
@ApiModel(description="{{{description}}}")
|
@ApiModel(description="{{{description}}}")
|
||||||
{{/description}}{{>additionalModelTypeAnnotations}}
|
{{/description}}{{>additionalModelTypeAnnotations}}
|
||||||
public class {{classname}} {{#parent}}extends {{{.}}}{{/parent}}{{#serializableModel}} implements Serializable{{/serializableModel}} {
|
public class {{classname}} {{#parent}}extends {{{.}}}{{/parent}}{{#vendorExtensions.x-implements}}{{#-first}} implements {{{.}}}{{/-first}}{{^-first}}, {{{.}}}{{/-first}}{{/vendorExtensions.x-implements}} {
|
||||||
{{#vars}}{{#isEnum}}{{^isContainer}}
|
{{#vars}}{{#isEnum}}{{^isContainer}}
|
||||||
{{>enumClass}}{{/isContainer}}{{#isContainer}}{{#mostInnerItems}}
|
{{>enumClass}}{{/isContainer}}{{#isContainer}}{{#mostInnerItems}}
|
||||||
{{>enumClass}}{{/mostInnerItems}}{{/isContainer}}{{/isEnum}}
|
{{>enumClass}}{{/mostInnerItems}}{{/isContainer}}{{/isEnum}}
|
||||||
|
@ -16,7 +16,7 @@ import com.fasterxml.jackson.annotation.JsonProperty;
|
|||||||
**/
|
**/
|
||||||
@ApiModel(description="{{{description}}}")
|
@ApiModel(description="{{{description}}}")
|
||||||
{{/description}}
|
{{/description}}
|
||||||
{{>additionalModelTypeAnnotations}}{{>xmlPojoAnnotation}}{{#discriminator}}{{>typeInfoAnnotation}}{{/discriminator}}public class {{classname}} {{#parent}}extends {{{.}}}{{/parent}}{{#serializableModel}} implements Serializable{{/serializableModel}} {
|
{{>additionalModelTypeAnnotations}}{{>xmlPojoAnnotation}}{{#discriminator}}{{>typeInfoAnnotation}}{{/discriminator}}public class {{classname}} {{#parent}}extends {{{.}}}{{/parent}}{{#vendorExtensions.x-implements}}{{#-first}} implements {{{.}}}{{/-first}}{{^-first}}, {{{.}}}{{/-first}}{{/vendorExtensions.x-implements}} {
|
||||||
{{#vars}}{{#isEnum}}{{^isContainer}}
|
{{#vars}}{{#isEnum}}{{^isContainer}}
|
||||||
{{>enumClass}}{{/isContainer}}{{#isContainer}}{{#mostInnerItems}}
|
{{>enumClass}}{{/isContainer}}{{#isContainer}}{{#mostInnerItems}}
|
||||||
{{>enumClass}}{{/mostInnerItems}}{{/isContainer}}{{/isEnum}}
|
{{>enumClass}}{{/mostInnerItems}}{{/isContainer}}{{/isEnum}}
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
})
|
})
|
||||||
{{/jackson}}
|
{{/jackson}}
|
||||||
{{>additionalModelTypeAnnotations}}{{>generatedAnnotation}}{{#discriminator}}{{>typeInfoAnnotation}}{{/discriminator}}
|
{{>additionalModelTypeAnnotations}}{{>generatedAnnotation}}{{#discriminator}}{{>typeInfoAnnotation}}{{/discriminator}}
|
||||||
public class {{classname}} {{#parent}}extends {{{.}}}{{/parent}} {{#serializableModel}}implements Serializable{{/serializableModel}} {
|
public class {{classname}} {{#parent}}extends {{{.}}}{{/parent}} {{#vendorExtensions.x-implements}}{{#-first}}implements {{{.}}}{{/-first}}{{^-first}}, {{{.}}}{{/-first}}{{/vendorExtensions.x-implements}} {
|
||||||
{{#vars}}
|
{{#vars}}
|
||||||
{{#isEnum}}
|
{{#isEnum}}
|
||||||
{{^isContainer}}
|
{{^isContainer}}
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
import io.swagger.annotations.*;
|
import io.swagger.annotations.*;
|
||||||
|
|
||||||
{{#description}}@ApiModel(description="{{{.}}}"){{/description}}{{>additionalModelTypeAnnotations}}{{>generatedAnnotation}}{{#discriminator}}{{>typeInfoAnnotation}}{{/discriminator}}
|
{{#description}}@ApiModel(description="{{{.}}}"){{/description}}{{>additionalModelTypeAnnotations}}{{>generatedAnnotation}}{{#discriminator}}{{>typeInfoAnnotation}}{{/discriminator}}
|
||||||
public class {{classname}} {{#parent}}extends {{{.}}}{{/parent}} {{#serializableModel}}implements Serializable{{/serializableModel}} {
|
public class {{classname}} {{#parent}}extends {{{.}}}{{/parent}} {{#vendorExtensions.x-implements}}{{#-first}}implements {{{.}}}{{/-first}}{{^-first}}, {{{.}}}{{/-first}}{{/vendorExtensions.x-implements}} {
|
||||||
{{#serializableModel}}
|
{{#serializableModel}}
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
{{/serializableModel}}
|
{{/serializableModel}}
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
import io.swagger.annotations.*;
|
import io.swagger.annotations.*;
|
||||||
|
|
||||||
{{#description}}@ApiModel(description="{{{.}}}"){{/description}}{{>additionalModelTypeAnnotations}}{{>generatedAnnotation}}{{#discriminator}}{{>typeInfoAnnotation}}{{/discriminator}}
|
{{#description}}@ApiModel(description="{{{.}}}"){{/description}}{{>additionalModelTypeAnnotations}}{{>generatedAnnotation}}{{#discriminator}}{{>typeInfoAnnotation}}{{/discriminator}}
|
||||||
public class {{classname}} {{#parent}}extends {{{.}}}{{/parent}} {{#serializableModel}}implements Serializable{{/serializableModel}} {
|
public class {{classname}} {{#parent}}extends {{{.}}}{{/parent}} {{#vendorExtensions.x-implements}}{{#-first}}implements {{{.}}}{{/-first}}{{^-first}}, {{{.}}}{{/-first}}{{/vendorExtensions.x-implements}} {
|
||||||
{{#serializableModel}}
|
{{#serializableModel}}
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
{{/serializableModel}}
|
{{/serializableModel}}
|
||||||
|
@ -12,7 +12,7 @@ import com.fasterxml.jackson.annotation.JsonTypeName;
|
|||||||
**/{{/description}}
|
**/{{/description}}
|
||||||
{{#useSwaggerAnnotations}}{{#description}}@ApiModel(description = "{{{.}}}"){{/description}}{{/useSwaggerAnnotations}}
|
{{#useSwaggerAnnotations}}{{#description}}@ApiModel(description = "{{{.}}}"){{/description}}{{/useSwaggerAnnotations}}
|
||||||
@JsonTypeName("{{name}}")
|
@JsonTypeName("{{name}}")
|
||||||
{{>generatedAnnotation}}{{>additionalModelTypeAnnotations}}public class {{classname}} {{#parent}}extends {{{.}}}{{/parent}} {{#serializableModel}}implements Serializable{{/serializableModel}} {
|
{{>generatedAnnotation}}{{>additionalModelTypeAnnotations}}public class {{classname}} {{#parent}}extends {{{.}}}{{/parent}} {{#vendorExtensions.x-implements}}{{#-first}}implements {{{.}}}{{/-first}}{{^-first}}, {{{.}}}{{/-first}}{{/vendorExtensions.x-implements}} {
|
||||||
{{#vars}}{{#isEnum}}{{^isContainer}}
|
{{#vars}}{{#isEnum}}{{^isContainer}}
|
||||||
|
|
||||||
{{>enumClass}}{{/isContainer}}{{#isContainer}}{{#mostInnerItems}}
|
{{>enumClass}}{{/isContainer}}{{#isContainer}}{{#mostInnerItems}}
|
||||||
|
@ -7,7 +7,7 @@ import javax.validation.constraints.*;
|
|||||||
*/
|
*/
|
||||||
{{>additionalModelTypeAnnotations}}{{>generatedAnnotation}}
|
{{>additionalModelTypeAnnotations}}{{>generatedAnnotation}}
|
||||||
@SuppressWarnings({"UnusedReturnValue", "WeakerAccess"})
|
@SuppressWarnings({"UnusedReturnValue", "WeakerAccess"})
|
||||||
public class {{classname}} {{#parent}}extends {{{.}}}{{/parent}} {{#serializableModel}}implements Serializable{{/serializableModel}} {
|
public class {{classname}} {{#parent}}extends {{{.}}}{{/parent}} {{#vendorExtensions.x-implements}}{{#-first}}implements {{{.}}}{{/-first}}{{^-first}}, {{{.}}}{{/-first}}{{/vendorExtensions.x-implements}} {
|
||||||
{{#vars}}
|
{{#vars}}
|
||||||
{{#isEnum}}
|
{{#isEnum}}
|
||||||
{{^isContainer}}
|
{{^isContainer}}
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
{{>xmlAnnotation}}
|
{{>xmlAnnotation}}
|
||||||
{{/withXml}}
|
{{/withXml}}
|
||||||
{{>generatedAnnotation}}
|
{{>generatedAnnotation}}
|
||||||
public class {{classname}} {{#parent}}extends {{{.}}}{{/parent}}{{^parent}}{{#hateoas}}extends RepresentationModel<{{classname}}> {{/hateoas}}{{/parent}} {{#serializableModel}}implements Serializable{{/serializableModel}} {
|
public class {{classname}} {{#parent}}extends {{{.}}}{{/parent}}{{^parent}}{{#hateoas}}extends RepresentationModel<{{classname}}> {{/hateoas}}{{/parent}} {{#vendorExtensions.x-implements}}{{#-first}}implements {{{.}}}{{/-first}}{{^-first}}, {{{.}}}{{/-first}}{{/vendorExtensions.x-implements}} {
|
||||||
{{#serializableModel}}
|
{{#serializableModel}}
|
||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{{>additionalModelTypeAnnotations}}@JsonInclude(JsonInclude.Include.NON_NULL)
|
{{>additionalModelTypeAnnotations}}@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||||
public class {{classname}} {{#parent}}extends {{{.}}}{{/parent}} {{#serializableModel}}implements Serializable{{/serializableModel}} {
|
public class {{classname}} {{#parent}}extends {{{.}}}{{/parent}} {{#vendorExtensions.x-implements}}{{#-first}}implements {{{.}}}{{/-first}}{{^-first}}, {{{.}}}{{/-first}}{{/vendorExtensions.x-implements}} {
|
||||||
{{#vars}}{{#isEnum}}{{^isContainer}}
|
{{#vars}}{{#isEnum}}{{^isContainer}}
|
||||||
|
|
||||||
{{>enumClass}}{{/isContainer}}{{#isContainer}}{{#mostInnerItems}}
|
{{>enumClass}}{{/isContainer}}{{#isContainer}}{{#mostInnerItems}}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{{>additionalModelTypeAnnotations}}@JsonInclude(JsonInclude.Include.NON_NULL)
|
{{>additionalModelTypeAnnotations}}@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||||
public class {{classname}} {{#parent}}extends {{{.}}}{{/parent}} {{#serializableModel}}implements Serializable{{/serializableModel}} {
|
public class {{classname}} {{#parent}}extends {{{.}}}{{/parent}} {{#vendorExtensions.x-implements}}{{#-first}}implements {{{.}}}{{/-first}}{{^-first}}, {{{.}}}{{/-first}}{{/vendorExtensions.x-implements}} {
|
||||||
{{#vars}}{{#isEnum}}{{^isContainer}}
|
{{#vars}}{{#isEnum}}{{^isContainer}}
|
||||||
|
|
||||||
{{>enumClass}}{{/isContainer}}{{#isContainer}}{{#mostInnerItems}}
|
{{>enumClass}}{{/isContainer}}{{#isContainer}}{{#mostInnerItems}}
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
*/{{#description}}
|
*/{{#description}}
|
||||||
@ApiModel(description = "{{{.}}}"){{/description}}
|
@ApiModel(description = "{{{.}}}"){{/description}}
|
||||||
{{>additionalModelTypeAnnotations}}{{>generatedAnnotation}}
|
{{>additionalModelTypeAnnotations}}{{>generatedAnnotation}}
|
||||||
public class {{classname}} {{#parent}}extends {{{.}}}{{/parent}} {{#serializableModel}}implements Serializable{{/serializableModel}} {
|
public class {{classname}} {{#parent}}extends {{{.}}}{{/parent}} {{#vendorExtensions.x-implements}}{{#-first}}implements {{{.}}}{{/-first}}{{^-first}}, {{{.}}}{{/-first}}{{/vendorExtensions.x-implements}} {
|
||||||
{{#vars}}
|
{{#vars}}
|
||||||
{{#isEnum}}
|
{{#isEnum}}
|
||||||
{{^isContainer}}
|
{{^isContainer}}
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
@ApiModel(description = "{{{.}}}"){{/description}}
|
@ApiModel(description = "{{{.}}}"){{/description}}
|
||||||
{{#useBeanValidation}}@Validated{{/useBeanValidation}}
|
{{#useBeanValidation}}@Validated{{/useBeanValidation}}
|
||||||
{{>generatedAnnotation}}{{#discriminator}}{{>typeInfoAnnotation}}{{/discriminator}}{{>xmlAnnotation}}{{>additionalModelTypeAnnotations}}
|
{{>generatedAnnotation}}{{#discriminator}}{{>typeInfoAnnotation}}{{/discriminator}}{{>xmlAnnotation}}{{>additionalModelTypeAnnotations}}
|
||||||
public class {{classname}} {{#parent}}extends {{{.}}}{{/parent}} {{#serializableModel}}implements Serializable{{/serializableModel}} {
|
public class {{classname}} {{#parent}}extends {{{.}}}{{/parent}} {{#vendorExtensions.x-implements}}{{#-first}}implements {{{.}}}{{/-first}}{{^-first}}, {{{.}}}{{/-first}}{{/vendorExtensions.x-implements}} {
|
||||||
{{#serializableModel}}
|
{{#serializableModel}}
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{{#description}}@ApiModel(description = "{{{.}}}"){{/description}}
|
{{#description}}@ApiModel(description = "{{{.}}}"){{/description}}
|
||||||
{{>additionalModelTypeAnnotations}}{{>generatedAnnotation}}
|
{{>additionalModelTypeAnnotations}}{{>generatedAnnotation}}
|
||||||
public class {{classname}} {{#parent}}extends {{{.}}}{{/parent}} {{#serializableModel}}implements Serializable{{/serializableModel}} {
|
public class {{classname}} {{#parent}}extends {{{.}}}{{/parent}} {{#vendorExtensions.x-implements}}{{#-first}}implements {{{.}}}{{/-first}}{{^-first}}, {{{.}}}{{/-first}}{{/vendorExtensions.x-implements}} {
|
||||||
{{#vars}}{{#isEnum}}{{^isContainer}}
|
{{#vars}}{{#isEnum}}{{^isContainer}}
|
||||||
|
|
||||||
{{>enumClass}}{{/isContainer}}{{#isContainer}}{{#mostInnerItems}}
|
{{>enumClass}}{{/isContainer}}{{#isContainer}}{{#mostInnerItems}}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user