api-generator-templates/Java/blocks/class/fields-getters-setters.twig

33 lines
1.4 KiB
Twig

{%- import '../../utils.twig' as utils -%}
{%- for field in fields %}
{% if (field.description is not empty) %}
/**
* {{ field.description }}
*/
{%- endif %}
{{ utils.writeNullCheckAnnotation(field.type.type.baseTypeName, field.nullable, field.optional) }}
public {{ utils.formatValueType(field.type.type, field.nullable, field.optional) }} {% if (field.type.type.baseTypeName == "Bool") and (field.name matches "^is[A-Z,0-9].*") -%}{{ field.name }}{%- else -%}get{{ capitalize(field.name) }}{%- endif -%}() {
{%- if field.nullable or field.optional %}
if (this.{{ field.name }} == null) {
return null;
}
{%- endif %}
{%- if field.type.type.baseTypeName == "Array" %}
return Collections.unmodifiableList(this.{{ field.name }});
{%- elseif field.type.type.baseTypeName == "Map" %}
return Collections.unmodifiableMap(this.{{ field.name }});
{%- else %}
return this.{{ field.name }};
{%- endif %}
}
{% if (field.description is not empty) %}
/**
* {{ field.description }}
*/
{%- endif %}
public void set{{ capitalize(field.name) }}({{ utils.writeNullCheckAnnotation(field.type.type.baseTypeName, field.nullable, field.optional) }} final {{ utils.formatValueType(field.type.type, field.nullable, field.optional) }} {{ field.name }}) {
this.{{ field.name }} = {{ field.name }};
}
{%- endfor -%}