api-generator-templates/Java/utils.twig

37 lines
1.4 KiB
Twig

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