api-generator-templates/Java/utils.twig

37 lines
1.3 KiB
Twig

{% macro parentClassType(parent) %}
{%- if parent is not null %}
{{- parent.type.baseTypeName -}}
{%- else -%}
LoganSquareJsonModel
{%- endif -%}
{% endmacro %}
{% macro writeNullCheckAnnotation(baseTypeName, nullable) %}
{%- if nullable -%}
@Nullable
{%- elseif not (baseTypeName == "Int" or baseTypeName == "Long" or baseTypeName == "Double" or baseTypeName == "Bool") -%}
@NonNull
{%- endif -%}
{% endmacro %}
{% macro formatValueType(valueType, nullable) %}
{% import _self as self %}
{%- if valueType.baseTypeName == "Int" -%}
{%- if not nullable -%}int{%- else -%}Integer{%- endif -%}
{%- elseif valueType.baseTypeName == "Long" -%}
{%- if not nullable -%}long{%- else -%}Long{%- endif -%}
{%- elseif valueType.baseTypeName == "Double" -%}
{%- if not nullable -%}double{%- else -%}Double{%- endif -%}
{%- elseif valueType.baseTypeName == "Bool" -%}
{%- if not nullable -%}boolean{%- else -%}Boolean{%- endif -%}
{%- elseif valueType.baseTypeName == "Decimal" -%}
BigDecimal
{%- elseif valueType.baseTypeName == "Map" -%}
Map<{{ self.formatValueType(valueType.keysType, true) }}, {{ self.formatValueType(valueType.valuesType, true) }}>
{%- elseif valueType.baseTypeName == "Array" -%}
List<{{ self.formatValueType(valueType.itemsType, true) }}>
{%- else -%}
{{ valueType.baseTypeName }}
{%- endif -%}
{% endmacro %}