forked from loafle/openapi-generator-original
adding an option so java models can implement Serializable
This commit is contained in:
parent
0af29cc5cf
commit
4f25a0e6c5
@ -35,6 +35,8 @@ public class JavaClientCodegen extends DefaultCodegen implements CodegenConfig {
|
|||||||
protected String artifactVersion = "1.0.0";
|
protected String artifactVersion = "1.0.0";
|
||||||
protected String sourceFolder = "src/main/java";
|
protected String sourceFolder = "src/main/java";
|
||||||
protected String localVariablePrefix = "";
|
protected String localVariablePrefix = "";
|
||||||
|
protected Boolean serializableModel = false;
|
||||||
|
|
||||||
public JavaClientCodegen() {
|
public JavaClientCodegen() {
|
||||||
super();
|
super();
|
||||||
outputFolder = "generated-code/java";
|
outputFolder = "generated-code/java";
|
||||||
@ -75,6 +77,7 @@ public class JavaClientCodegen extends DefaultCodegen implements CodegenConfig {
|
|||||||
cliOptions.add(new CliOption("artifactVersion", "artifact version in generated pom.xml"));
|
cliOptions.add(new CliOption("artifactVersion", "artifact version in generated pom.xml"));
|
||||||
cliOptions.add(new CliOption("sourceFolder", "source folder for generated code"));
|
cliOptions.add(new CliOption("sourceFolder", "source folder for generated code"));
|
||||||
cliOptions.add(new CliOption("localVariablePrefix", "prefix for generated code members and local variables"));
|
cliOptions.add(new CliOption("localVariablePrefix", "prefix for generated code members and local variables"));
|
||||||
|
cliOptions.add(new CliOption("serializableModel", "boolean - toggle \"implements Serializable\" for generated models"));
|
||||||
}
|
}
|
||||||
|
|
||||||
public CodegenType getTag() {
|
public CodegenType getTag() {
|
||||||
@ -129,6 +132,12 @@ public class JavaClientCodegen extends DefaultCodegen implements CodegenConfig {
|
|||||||
if (additionalProperties.containsKey("localVariablePrefix")) {
|
if (additionalProperties.containsKey("localVariablePrefix")) {
|
||||||
this.setLocalVariablePrefix((String) additionalProperties.get("localVariablePrefix"));
|
this.setLocalVariablePrefix((String) additionalProperties.get("localVariablePrefix"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (additionalProperties.containsKey("serializableModel")) {
|
||||||
|
this.setSerializableModel(Boolean.valueOf((String)additionalProperties.get("serializableModel")));
|
||||||
|
} else {
|
||||||
|
additionalProperties.put("serializableModel", serializableModel);
|
||||||
|
}
|
||||||
|
|
||||||
this.sanitizeConfig();
|
this.sanitizeConfig();
|
||||||
|
|
||||||
@ -364,6 +373,14 @@ public class JavaClientCodegen extends DefaultCodegen implements CodegenConfig {
|
|||||||
this.localVariablePrefix = localVariablePrefix;
|
this.localVariablePrefix = localVariablePrefix;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Boolean getSerializableModel() {
|
||||||
|
return serializableModel;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSerializableModel(Boolean serializableModel) {
|
||||||
|
this.serializableModel = serializableModel;
|
||||||
|
}
|
||||||
|
|
||||||
private String sanitizePackageName(String packageName) {
|
private String sanitizePackageName(String packageName) {
|
||||||
packageName = packageName.trim();
|
packageName = packageName.trim();
|
||||||
packageName = packageName.replaceAll("[^a-zA-Z0-9_\\.]", "_");
|
packageName = packageName.replaceAll("[^a-zA-Z0-9_\\.]", "_");
|
||||||
|
@ -3,6 +3,9 @@ package {{package}};
|
|||||||
{{#imports}}import {{import}};
|
{{#imports}}import {{import}};
|
||||||
{{/imports}}
|
{{/imports}}
|
||||||
|
|
||||||
|
{{#serializableModel}}
|
||||||
|
import java.io.Serializable;{{/serializableModel}}
|
||||||
|
|
||||||
import io.swagger.annotations.*;
|
import io.swagger.annotations.*;
|
||||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
{{#models}}
|
{{#models}}
|
||||||
@ -13,7 +16,7 @@ import com.fasterxml.jackson.annotation.JsonProperty;
|
|||||||
**/{{/description}}
|
**/{{/description}}
|
||||||
@ApiModel(description = "{{{description}}}")
|
@ApiModel(description = "{{{description}}}")
|
||||||
{{>generatedAnnotation}}
|
{{>generatedAnnotation}}
|
||||||
public class {{classname}} {{#parent}}extends {{{parent}}}{{/parent}} {
|
public class {{classname}} {{#parent}}extends {{{parent}}}{{/parent}} {{#serializableModel}}implements Serializable{{/serializableModel}} {
|
||||||
{{#vars}}{{#isEnum}}
|
{{#vars}}{{#isEnum}}
|
||||||
public enum {{datatypeWithEnum}} {
|
public enum {{datatypeWithEnum}} {
|
||||||
{{#allowableValues}}{{#values}} {{.}}, {{/values}}{{/allowableValues}}
|
{{#allowableValues}}{{#values}} {{.}}, {{/values}}{{/allowableValues}}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user