java getters/setters generation added
This commit is contained in:
parent
e94caa429e
commit
84044c3271
|
|
@ -23,4 +23,6 @@ public class {% include 'blocks/class/classtype.twig' with { type: type } %} ext
|
|||
{%- include 'blocks/class/fields-initialization.twig' with { fields: fields } %}
|
||||
}
|
||||
{% endif %}
|
||||
{%- include 'blocks/class/fields-getters-setters.twig' with { fields: fields } %}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
{%- import '../../utils.twig' as utils -%}
|
||||
|
||||
{%- if fields is not empty -%}
|
||||
{%- for field in fields %}
|
||||
/**
|
||||
* {{ field.description }}
|
||||
*/
|
||||
{{ utils.writeNullCheckAnnotation(field.type.type.baseTypeName, field.nullable, field.optional) }}
|
||||
//TODO: getter with is****
|
||||
public {{ utils.formatValueType(field.type.type, field.nullable, field.optional) }} get{{ utils.capitalize(field.name) }}() {
|
||||
{{ utils.formatValueGetter(field.name, field.type.type, field.nullable, field.optional) }}
|
||||
}
|
||||
|
||||
/**
|
||||
* {{ field.description }}
|
||||
*/
|
||||
//TODO: setter with is****
|
||||
public void set{{ utils.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 }}) {
|
||||
{{ utils.formatValueSetter(field.name, field.type.type.baseTypeName, fiel.nullable, field.optional ) }}
|
||||
}
|
||||
{% endfor -%}
|
||||
{%- endif -%}
|
||||
|
|
@ -1,11 +1,4 @@
|
|||
{%- import '../../utils.twig' as utils -%}
|
||||
{%- for field in fields %}
|
||||
{%- if field.type.type.baseTypeName == "List" %}
|
||||
this.{{ field.name }} = new ArrayList<>({{ field.name }});
|
||||
{%- elseif field.type.type.baseTypeName == "Map" %}
|
||||
this.{{ field.name }} = new HashMap<>({{ field.name }});
|
||||
{%- else %}
|
||||
//TODO NULLABLE COLLECTIONS
|
||||
this.{{ field.name }} = {{ field.name }};
|
||||
{%- endif -%}
|
||||
{{ utils.formatValueSetter(field.name, field.type.type.baseTypeName, field.nullable, field.optional ) }}
|
||||
{%- endfor -%}
|
||||
|
|
@ -2,6 +2,6 @@
|
|||
|
||||
{%- if fields is not empty -%}
|
||||
{%- for field in fields -%}
|
||||
{{ utils.writeNullCheckAnnotation(field.type.type.baseTypeName) }} final {{ utils.formatValueType(field.type.type, field.nullable, field.optional) }} {{ field.name }} {%- if not (loop.last) %}, {% endif %}
|
||||
{{ utils.writeNullCheckAnnotation(field.type.type.baseTypeName, field.nullable, field.optional) }} final {{ utils.formatValueType(field.type.type, field.nullable, field.optional) }} {{ field.name }} {%- if not (loop.last) %}, {% endif %}
|
||||
{%- endfor -%}
|
||||
{%- endif -%}
|
||||
|
|
@ -2,6 +2,10 @@
|
|||
{{- 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
|
||||
|
|
@ -63,6 +67,64 @@ JsonOptional<{{ self.formatNonOptionalValueType(valueType, false) }}>
|
|||
{{- 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(fieldName, valueType, nullable, optional) %}
|
||||
{% import _self as self %}
|
||||
{%- if optional -%}
|
||||
this.{{ fieldName }} = new JsonOptional({{- self.formatNullableValueSetter(fieldName, valueType, nullable) -}});
|
||||
{%- elseif nullable -%}
|
||||
this.{{ fieldName }} = self.formatNullableValueSetter(fieldName, valueType, nullable) -}};
|
||||
{%- else -%}
|
||||
this.{{ 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 escapeIfNeeded(expr) %}
|
||||
{%- if expr == "default" -%}
|
||||
`{{ expr }}`
|
||||
|
|
|
|||
Loading…
Reference in New Issue