{% 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 -%}bool{%- 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 formatValueType(valueType, nullable, optional) %} {% import _self as self %} {%- if optional -%} JsonOptional<{{ 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, optional) %} {% import _self as self %} {%- if optional -%} {{ object }}.{{ fieldName }} = new JsonOptional({{- self.formatNullableValueSetter(fieldName, valueType, nullable) -}}); {%- elseif 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, optional) %} {% import _self as self %} {%- if optional -%} return new JsonOptional({{- self.formatNullableValueGetter(fieldName, valueType, nullable) -}}); {%- elseif nullable -%} return self.formatNullableValueGetter(fieldName, valueType, nullable) -}}; {%- else -%} return this.{{ fieldName }}; {%- endif -%} {% endmacro %} {% macro formatEquals(fieldName, valueType, optional) %} {%- if valueType == "List" -%} ObjectUtils.isCollectionsEquals({%- if optional -%}{{ fieldName }}.get(){%- else -%}{{ fieldName }}{%- endif -%}, that.{%- if optional -%}{{ fieldName }}.get(){%- else -%}{{ fieldName }}{%- endif -%}) {%- elseif valueType == "Map" -%} ObjectUtils.isMapsEquals({%- if optional -%}{{ fieldName }}.get(){%- else -%}{{ fieldName }}{%- endif -%}, that.{%- if optional -%}{{ fieldName }}.get(){%- else -%}{{ fieldName }}{%- endif -%}) {%- else -%} ObjectUtils.equals({%- if optional -%}{{ fieldName }}.get(){%- else -%}{{ fieldName }}{%- endif -%}, that.{%- if optional -%}{{ fieldName }}.get(){%- else -%}{{ fieldName }} {%- endif -%}) {%- 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 %}