- Upgrade Quarkus and OpenAPI generator versions in pom.xml. - Introduce CharacterService and ScenarioService for managing character and scenario templates. - Implement CharacterEntity and ScenarioEntity JPA entities with corresponding repositories. - Add RESTful APIs for listing and retrieving characters and scenarios. - Create JSON converter for persisting lists of strings in the database. - Update OpenAPI specification to include new endpoints for character and scenario management. - Add Liquibase migration scripts for character and scenario tables. - Configure application settings for Hibernate ORM and database generation.
147 lines
4.9 KiB
Plaintext
147 lines
4.9 KiB
Plaintext
/**
|
|
* {{description}}{{^description}}{{classname}}{{/description}}
|
|
*/{{#description}}
|
|
@ApiModel(description = "{{{.}}}"){{/description}}
|
|
{{#jackson}}
|
|
@JsonPropertyOrder({
|
|
{{#vars}}
|
|
{{classname}}.JSON_PROPERTY_{{nameInSnakeCase}}{{^-last}},{{/-last}}
|
|
{{/vars}}
|
|
})
|
|
{{/jackson}}
|
|
{{>additionalModelTypeAnnotations}}{{>generatedAnnotation}}{{#discriminator}}{{>typeInfoAnnotation}}{{/discriminator}}
|
|
{{#vendorExtensions.x-class-extra-annotation}}
|
|
{{{vendorExtensions.x-class-extra-annotation}}}
|
|
{{/vendorExtensions.x-class-extra-annotation}}
|
|
public class {{classname}} {{#parent}}extends {{{.}}}{{/parent}} {{#vendorExtensions.x-implements}}{{#-first}}implements {{{.}}}{{/-first}}{{^-first}}, {{{.}}}{{/-first}}{{/vendorExtensions.x-implements}} {
|
|
{{#vars}}
|
|
{{#isEnum}}
|
|
{{^isContainer}}
|
|
{{>enumClass}}
|
|
|
|
{{/isContainer}}
|
|
{{#isContainer}}
|
|
{{#mostInnerItems}}
|
|
{{>enumClass}}
|
|
|
|
{{/mostInnerItems}}
|
|
{{/isContainer}}
|
|
{{/isEnum}}
|
|
{{#jackson}}
|
|
public static final String JSON_PROPERTY_{{nameInSnakeCase}} = "{{baseName}}";
|
|
@JsonProperty(JSON_PROPERTY_{{nameInSnakeCase}})
|
|
{{/jackson}}
|
|
{{#gson}}
|
|
public static final String SERIALIZED_NAME_{{nameInSnakeCase}} = "{{baseName}}";
|
|
@SerializedName(SERIALIZED_NAME_{{nameInSnakeCase}})
|
|
{{/gson}}
|
|
{{#vendorExtensions.x-field-extra-annotation}}
|
|
{{{.}}}
|
|
{{/vendorExtensions.x-field-extra-annotation}}
|
|
private {{>propertyType}} {{name}}{{#defaultValue}} = {{{.}}}{{/defaultValue}};
|
|
|
|
{{/vars}}
|
|
{{#vars}}
|
|
public {{classname}} {{name}}({{>propertyType}} {{name}}) {
|
|
this.{{name}} = {{name}};
|
|
return this;
|
|
}
|
|
{{#isArray}}
|
|
|
|
public {{classname}} add{{nameInPascalCase}}Item({{{items.datatypeWithEnum}}} {{name}}Item) {
|
|
if (this.{{name}} == null) {
|
|
this.{{name}} = {{{defaultValue}}}{{^defaultValue}}new {{#uniqueItems}}LinkedHashSet{{/uniqueItems}}{{^uniqueItems}}ArrayList{{/uniqueItems}}<>(){{/defaultValue}};
|
|
}
|
|
this.{{name}}.add({{name}}Item);
|
|
return this;
|
|
}
|
|
{{/isArray}}
|
|
{{#isMap}}
|
|
|
|
public {{classname}} put{{nameInPascalCase}}Item(String key, {{{items.datatypeWithEnum}}} {{name}}Item) {
|
|
if (this.{{name}} == null) {
|
|
this.{{name}} = {{{defaultValue}}}{{^defaultValue}}new HashMap<>(){{/defaultValue}};
|
|
}
|
|
this.{{name}}.put(key, {{name}}Item);
|
|
return this;
|
|
}
|
|
{{/isMap}}
|
|
|
|
/**
|
|
{{#description}}
|
|
* {{.}}
|
|
{{/description}}
|
|
{{^description}}
|
|
* Get {{name}}
|
|
{{/description}}
|
|
{{#minimum}}
|
|
* minimum: {{.}}
|
|
{{/minimum}}
|
|
{{#maximum}}
|
|
* maximum: {{.}}
|
|
{{/maximum}}
|
|
* @return {{name}}
|
|
**/
|
|
{{#vendorExtensions.x-extra-annotation}}
|
|
{{{vendorExtensions.x-extra-annotation}}}
|
|
{{/vendorExtensions.x-extra-annotation}}
|
|
{{#jackson}}
|
|
@JsonProperty(value = "{{baseName}}"{{#isReadOnly}}, access = JsonProperty.Access.READ_ONLY{{/isReadOnly}}{{#isWriteOnly}}, access = JsonProperty.Access.WRITE_ONLY{{/isWriteOnly}})
|
|
{{/jackson}}
|
|
@ApiModelProperty({{#example}}example = "{{{.}}}", {{/example}}{{#required}}required = {{required}}, {{/required}}value = "{{{description}}}")
|
|
{{#useBeanValidation}}{{#required}}{{^isReadOnly}}
|
|
@NotNull
|
|
{{/isReadOnly}}{{/required}}{{#isContainer}}{{! No @Valid on container; type has List<@Valid T> (HV000271) }}{{/isContainer}}{{^isContainer}}{{^isPrimitiveType}}
|
|
@Valid
|
|
{{/isPrimitiveType}}{{/isContainer}}{{>beanValidationCore}}{{/useBeanValidation}}
|
|
public {{>propertyType}} {{getter}}() {
|
|
return {{name}};
|
|
}
|
|
|
|
{{#vendorExtensions.x-setter-extra-annotation}}{{{vendorExtensions.x-setter-extra-annotation}}}
|
|
{{/vendorExtensions.x-setter-extra-annotation}}public void {{setter}}({{>propertyType}} {{name}}) {
|
|
this.{{name}} = {{name}};
|
|
}
|
|
|
|
{{/vars}}
|
|
|
|
@Override
|
|
public boolean equals(Object o) {
|
|
if (this == o) {
|
|
return true;
|
|
}
|
|
if (o == null || getClass() != o.getClass()) {
|
|
return false;
|
|
}
|
|
{{classname}} {{classVarName}} = ({{classname}}) o;{{#hasVars}}
|
|
return {{#parent}}super.equals(o) && {{/parent}}{{#vars}}Objects.equals(this.{{name}}, {{classVarName}}.{{name}}){{^-last}} &&
|
|
{{/-last}}{{#-last}};{{/-last}}{{/vars}}{{/hasVars}}{{^hasVars}}{{#parent}}return super.equals(o);{{/parent}}{{^parent}}return true;{{/parent}}{{/hasVars}}
|
|
}
|
|
|
|
@Override
|
|
public int hashCode() {
|
|
return {{^hasVars}}{{#parent}}super.hashCode(){{/parent}}{{^parent}}1{{/parent}}{{/hasVars}}{{#hasVars}}Objects.hash({{#vars}}{{#parent}}super.hashCode(), {{/parent}}{{name}}{{^-last}}, {{/-last}}{{/vars}}){{/hasVars}};
|
|
}
|
|
|
|
@Override
|
|
public String toString() {
|
|
StringBuilder sb = new StringBuilder();
|
|
sb.append("class {{classname}} {\n");
|
|
{{#parent}}sb.append(" ").append(toIndentedString(super.toString())).append("\n");{{/parent}}
|
|
{{#vars}}sb.append(" {{name}}: ").append({{#isPassword}}"*"{{/isPassword}}{{^isPassword}}toIndentedString({{name}}){{/isPassword}}).append("\n");
|
|
{{/vars}}sb.append("}");
|
|
return sb.toString();
|
|
}
|
|
|
|
/**
|
|
* Convert the given object to string with each line indented by 4 spaces
|
|
* (except the first line).
|
|
*/
|
|
private String toIndentedString(Object o) {
|
|
if (o == null) {
|
|
return "null";
|
|
}
|
|
return o.toString().replace("\n", "\n ");
|
|
}
|
|
}
|