280 lines
9.5 KiB
Twig
280 lines
9.5 KiB
Twig
{% macro decapitalize(text) %}
|
|
{{- concat(slice(text, 0, 1) | lower, slice(text, 1, text | length)) -}}
|
|
{% endmacro %}
|
|
|
|
{% macro capitalize(text) %}
|
|
{{- concat(slice(text, 0, 1) | upper, slice(text, 1, text | length)) -}}
|
|
{% endmacro %}
|
|
|
|
{% macro enumType(valuesTypes) %}
|
|
{%- if valuesTypes == "STRING" -%}
|
|
String
|
|
{%- elseif valuesTypes == "INT" -%}
|
|
Int
|
|
{%- endif -%}
|
|
{% endmacro %}
|
|
|
|
{% macro parentClassType(parent) %}
|
|
{%- if parent is not null %}
|
|
{{- parent.type.baseTypeName -}}
|
|
{%- else -%}
|
|
LoganSquareJsonModel
|
|
{%- endif -%}
|
|
{% endmacro %}
|
|
|
|
{% macro writeNullCheckAnnotation(baseTypeName, nullable, optional) %}
|
|
{%- if optional -%}
|
|
@NonNull
|
|
{%- elseif nullable -%}
|
|
@Nullable
|
|
{%- elseif not (baseTypeName == "Int" or baseTypeName == "Long" or baseTypeName == "Double" or baseTypeName == "Bool") -%}
|
|
@NonNull
|
|
{%- endif -%}
|
|
{% endmacro %}
|
|
|
|
{% macro formatNonOptionalValueType(valueType, tryUsePrimitive) %}
|
|
{% import _self as self %}
|
|
{%- if valueType.baseTypeName == "Int" -%}
|
|
{%- if tryUsePrimitive -%}int{%- else -%}Integer{%- endif -%}
|
|
{%- elseif valueType.baseTypeName == "Long" -%}
|
|
{%- if tryUsePrimitive -%}long{%- else -%}Long{%- endif -%}
|
|
{%- elseif valueType.baseTypeName == "Double" -%}
|
|
{%- if tryUsePrimitive -%}double{%- else -%}Double{%- endif -%}
|
|
{%- elseif valueType.baseTypeName == "Decimal" -%}
|
|
BigDecimal
|
|
{%- elseif valueType.baseTypeName == "Bool" -%}
|
|
{%- if tryUsePrimitive -%}boolean{%- else -%}Boolean{%- endif -%}
|
|
{%- elseif valueType.baseTypeName == "Map" -%}
|
|
Map<{{ self.formatNonOptionalValueType(valueType.keysType, false) }}, {{ self.formatNonOptionalValueType(valueType.valuesType, false) }}>
|
|
{%- elseif valueType.baseTypeName == "Array" -%}
|
|
List<{{ self.formatNonOptionalValueType(valueType.itemsType, false) }}>
|
|
{%- else -%}
|
|
{{ valueType.baseTypeName }}
|
|
{%- endif -%}
|
|
{% endmacro %}
|
|
|
|
{% macro formatOptionalValueType(valueType, nullable) %}
|
|
{% import _self as self %}
|
|
{%- if nullable -%} JsonOptional {%- else -%} NonNullJsonOptional {%- endif -%}
|
|
{% endmacro %}
|
|
|
|
{% macro formatValueType(valueType, nullable, optional) %}
|
|
{% import _self as self %}
|
|
{%- if optional -%}
|
|
{{ self.formatOptionalValueType(valueType, nullable) }}<{{ self.formatNonOptionalValueType(valueType, false) }}>
|
|
{%- else -%}
|
|
{{ self.formatNonOptionalValueType(valueType, not nullable) }}
|
|
{%- endif -%}
|
|
{% endmacro %}
|
|
|
|
{% macro formatSimpleValueType(valueType) %}
|
|
{%- import _self as self -%}
|
|
{{- self.formatValueType(valueType, true, false) -}}
|
|
{% endmacro %}
|
|
|
|
{% macro formatNullableValueSetter(fieldName, valueType, nullable) %}
|
|
{%- if valueType == "List" -%}
|
|
{%- if nullable -%}
|
|
{{ fieldName }} != null ? new ArrayList<>({{ fieldName }}) : null
|
|
{%- else -%}
|
|
new ArrayList<>({{ fieldName }})
|
|
{%- endif -%}
|
|
{%- elseif valueType == "Map" -%}
|
|
{%- if nullable -%}
|
|
{{ fieldName }} != null ? new HashMap<>({{ fieldName }}) : null
|
|
{%- else -%}
|
|
new HashMap<>({{ fieldName }})
|
|
{%- endif -%}
|
|
{%- else -%}
|
|
{{ fieldName }}
|
|
{%- endif -%}
|
|
{% endmacro %}
|
|
|
|
{% macro formatValueSetter(object, fieldName, valueType, nullable) %}
|
|
{% import _self as self %}
|
|
{%- if nullable -%}
|
|
{{ object }}.{{ fieldName }} = {{ self.formatNullableValueSetter(fieldName, valueType, nullable)}};
|
|
{%- else -%}
|
|
{{ object }}.{{ fieldName }} = {{ fieldName }};
|
|
{%- endif -%}
|
|
{% endmacro %}
|
|
|
|
{% macro formatNullableValueGetter(fieldName, valueType, nullable) %}
|
|
{%- if valueType == "List" -%}
|
|
{%- if nullable -%}
|
|
{{ fieldName }} != null ? Collections.unmodifiableList({{ fieldName }}) : null
|
|
{%- else -%}
|
|
Collections.unmodifiableList({{ fieldName }})
|
|
{%- endif -%}
|
|
{%- elseif valueType == "Map" -%}
|
|
{%- if nullable -%}
|
|
{{ fieldName }} != null ? Collections.unmodifiableMap({{ fieldName }}) : null
|
|
{%- else -%}
|
|
Collections.unmodifiableMap({{ fieldName }})
|
|
{%- endif -%}
|
|
{%- else -%}
|
|
{{ fieldName }}
|
|
{%- endif -%}
|
|
{% endmacro %}
|
|
|
|
{% macro formatValueGetter(fieldName, valueType, nullable) %}
|
|
{% import _self as self %}
|
|
{%- if nullable -%}
|
|
return {{ self.formatNullableValueGetter(fieldName, valueType, nullable) }};
|
|
{%- else -%}
|
|
return this.{{ fieldName }};
|
|
{%- endif -%}
|
|
{% endmacro %}
|
|
|
|
{% macro formatEquals(fieldName, valueType, optional) %}
|
|
{%- if valueType == "List" -%}
|
|
ObjectUtils.isCollectionsEquals({{ fieldName }}{%- if optional -%} .get() {%- endif -%}, that.{{ fieldName }}{%- if optional -%} .get() {%- endif -%})
|
|
{%- elseif valueType == "Map" -%}
|
|
ObjectUtils.isMapsEquals({{ fieldName }}{%- if optional -%} .get() {%- endif -%}, that.{{ fieldName }}{%- if optional -%} .get() {%- endif -%})
|
|
{%- else -%}
|
|
ObjectUtils.equals({{ fieldName }}, that.{{ fieldName }})
|
|
{%- endif -%}
|
|
{% endmacro %}
|
|
|
|
{% macro escapeIfNeeded(expr) %}
|
|
{%- if expr == "default" -%}
|
|
`{{ expr }}`
|
|
{%- else -%}
|
|
{{ expr }}
|
|
{%- endif -%}
|
|
{% endmacro %}
|
|
|
|
{% macro mappingFromMapForField(field) %}
|
|
{%- if field.type.type.baseTypeName == "DateTime" -%}
|
|
map.value("{{ field.jsonName }}", using: {{ field.name -}}Transform)
|
|
{%- else -%}
|
|
map.value("{{ field.jsonName }}")
|
|
{%- endif -%}
|
|
{% endmacro %}
|
|
|
|
{% macro mappingToMapForField(field) %}
|
|
{%- if field.type.type.baseTypeName == "DateTime" -%}
|
|
(map["{{ field.jsonName }}"], {{ field.name -}}Transform)
|
|
{%- else -%}
|
|
map["{{ field.jsonName }}"]
|
|
{%- endif -%}
|
|
{% endmacro %}
|
|
|
|
{% macro formatWriteObject(fieldName, valueType, nullable, optional) %}
|
|
{%- if nullable or optional -%}
|
|
writeObject({{ fieldName }})
|
|
{%- else -%}
|
|
{%- if valueType.baseTypeName == "Int" -%}
|
|
writeInt({{ fieldName }})
|
|
{%- elseif valueType.baseTypeName == "Long" -%}
|
|
writeLong({{ fieldName }})
|
|
{%- elseif valueType.baseTypeName == "Double" -%}
|
|
writeDouble({{ fieldName }})
|
|
{%- elseif valueType.baseTypeName == "String" -%}
|
|
writeUTF({{ fieldName }})
|
|
{%- elseif valueType.baseTypeName == "Bool" -%}
|
|
writeBoolean({{ fieldName }})
|
|
{%- else -%}
|
|
writeObject({{ fieldName }})
|
|
{%- endif -%}
|
|
{%- endif -%}
|
|
{% endmacro %}
|
|
|
|
{% macro formatReadObject(valueType, nullable, optional) %}
|
|
{% import _self as self %}
|
|
{%- if nullable or optional -%}
|
|
({{ self.formatValueType(valueType, nullable, optional) }}) inputStream.readObject()
|
|
{%- else -%}
|
|
{%- if valueType.baseTypeName == "Int" -%}
|
|
inputStream.readInt()
|
|
{%- elseif valueType.baseTypeName == "Long" -%}
|
|
inputStream.readLong()
|
|
{%- elseif valueType.baseTypeName == "Double" -%}
|
|
inputStream.readDouble()
|
|
{%- elseif valueType.baseTypeName == "String" -%}
|
|
inputStream.readUTF()
|
|
{%- elseif valueType.baseTypeName == "Bool" -%}
|
|
inputStream.readBoolean()
|
|
{%- else -%}
|
|
({{ self.formatValueType(valueType, nullable, optional) }}) inputStream.readObject()
|
|
{%- endif -%}
|
|
{%- endif -%}
|
|
{% endmacro %}
|
|
|
|
{% macro formatValidateObject(object, valueTopType, valueType, nullable, optional) %}
|
|
{% import _self as self %}
|
|
{%- if not nullable
|
|
and valueType.baseTypeName != "Int"
|
|
and valueType.baseTypeName != "Long"
|
|
and valueType.baseTypeName != "Double"
|
|
and valueType.baseTypeName != "Bool" %}
|
|
{%- if optional %}
|
|
if (!{{ object }}.isEmpty()) {
|
|
validateNotNull({{ object }}.get());
|
|
}
|
|
{%- else %}
|
|
validateNotNull({{ object }});
|
|
{%- endif -%}
|
|
{%- endif -%}
|
|
{%- if valueType.baseTypeName == "Map" %}
|
|
{%- if optional %}
|
|
if ({{ object }}.get() != null) {
|
|
validateCollection({{ object }}.get().values(), CollectionValidationRule.EXCEPTION_IF_ANY_INVALID);
|
|
}
|
|
{%- else -%}
|
|
|
|
{%- if nullable %}
|
|
if ({{ object }} != null) {
|
|
validateCollection({{ object }}.values(), CollectionValidationRule.EXCEPTION_IF_ANY_INVALID);
|
|
}
|
|
{%- else %}
|
|
validateCollection({{ object }}.values(), CollectionValidationRule.EXCEPTION_IF_ANY_INVALID);
|
|
{%- endif -%}
|
|
|
|
{%- endif -%}
|
|
{%- elseif valueType.baseTypeName == "Array" %}
|
|
{%- if optional %}
|
|
if ({{ object }}.get() != null) {
|
|
validateCollection({{ object }}.get(), CollectionValidationRule.EXCEPTION_IF_ANY_INVALID);
|
|
}
|
|
{%- else %}
|
|
|
|
{%- if nullable %}
|
|
if ({{ object }} != null) {
|
|
validateCollection({{ object }}, CollectionValidationRule.EXCEPTION_IF_ANY_INVALID);
|
|
}
|
|
{%- else %}
|
|
validateCollection({{ object }}, CollectionValidationRule.EXCEPTION_IF_ANY_INVALID);
|
|
{%- endif -%}
|
|
|
|
{%- endif -%}
|
|
{%- elseif valueType.baseTypeName != "Int"
|
|
and valueType.baseTypeName != "Long"
|
|
and valueType.baseTypeName != "Double"
|
|
and valueType.baseTypeName != "Bool"
|
|
and valueType.baseTypeName != "String"
|
|
and valueType.baseTypeName != "Decimal"
|
|
and valueType.baseTypeName != "DateTime"
|
|
and (valueTopType.values is empty) %}
|
|
{%- if valueTopType.allFieldsOrdered is empty %}
|
|
if (((ApiModel) {{ object }}{%- if optional -%} .get() {%- endif -%}) instanceof ApiModel) {
|
|
((ApiModel) {{ object }}{%- if optional -%} .get() {%- endif -%}).validate();
|
|
} else if ({{ object }} instanceof List) {
|
|
validateCollection(((List) {{ object }}), CollectionValidationRule.EXCEPTION_IF_ANY_INVALID);
|
|
} else if ({{ object }} instanceof Map) {
|
|
validateCollection(((Map) {{ object }}).values(), CollectionValidationRule.EXCEPTION_IF_ANY_INVALID);
|
|
}
|
|
{%- elseif optional %}
|
|
if ({{ object }}.get() != null) {
|
|
{{ object }}.get().validate();
|
|
}
|
|
{%- elseif nullable %}
|
|
if ({{ object }} != null) {
|
|
{{ object }}.validate();
|
|
}
|
|
{%- else -%}
|
|
{{ object }}.validate();
|
|
{%- endif -%}
|
|
{%- endif -%}
|
|
{% endmacro %}
|