135 lines
4.4 KiB
Twig
135 lines
4.4 KiB
Twig
{%- import '../../utils.twig' as utils -%}
|
|
|
|
{%- if (storageAttributes is not null) -%}
|
|
{% set converters = [] %}
|
|
|
|
{%- for field in fields -%}
|
|
|
|
{%- if not (field.type.type.baseTypeName in converters) -%}
|
|
|
|
{%- if field.type.type.baseTypeName == "Array" %}
|
|
|
|
@TypeConverter
|
|
@Nullable
|
|
public static String serialize{{ field.type.type.itemsType.baseTypeName }}List(@Nullable final {{ utils.formatValueType(field.type.type, true, true) }} value) {
|
|
if (value == null) {
|
|
return null;
|
|
}
|
|
try {
|
|
return LoganSquare.serialize(value, {{ utils.formatValueType(field.type.type.itemsType, true, true) }}.class);
|
|
} catch (final IOException exception) {
|
|
return null;
|
|
}
|
|
}
|
|
|
|
@TypeConverter
|
|
@Nullable
|
|
public static {{ utils.formatValueType(field.type.type, true, true) }} deserialize{{ field.type.type.itemsType.baseTypeName }}List(@Nullable final String value) {
|
|
if (value == null) {
|
|
return null;
|
|
}
|
|
try {
|
|
return LoganSquare.parseList(value, {{ utils.formatValueType(field.type.type.itemsType, true, true) }}.class);
|
|
} catch (final IOException exception) {
|
|
return null;
|
|
}
|
|
}
|
|
|
|
{%- set converters = merge(converters, field.type.type.itemsType.baseTypeName) -%}
|
|
{%- elseif field.type.type.baseTypeName == "Map" %}
|
|
|
|
@TypeConverter
|
|
@Nullable
|
|
public static String serialize{{ field.type.type.valuesType.baseTypeName }}Map(@Nullable final {{ utils.formatValueType(field.type.type, true, true) }} value) {
|
|
if (value == null) {
|
|
return null;
|
|
}
|
|
try {
|
|
return LoganSquare.serialize(value), {{ utils.formatValueType(field.type.type.valuesType, true, true) }};
|
|
} catch (final IOException exception) {
|
|
return null;
|
|
}
|
|
}
|
|
|
|
@TypeConverter
|
|
@Nullable
|
|
public static {{ utils.formatValueType(field.type.type, true, true) }} deserialize{{ field.type.type.valuesType.baseTypeName }}Map(@Nullable final String value) {
|
|
if (value == null) {
|
|
return null;
|
|
}
|
|
try {
|
|
return LoganSquare.parseMap(value, {{ utils.formatValueType(field.type.type.valuesType, true, true) }}.class);
|
|
} catch (final IOException exception) {
|
|
return null;
|
|
}
|
|
}
|
|
|
|
{%- set converters = merge(converters, field.type.type.valuesType.baseTypeName) -%}
|
|
|
|
{%- elseif field.type.type.baseTypeName == "DateTime" %}
|
|
|
|
@TypeConverter
|
|
@Nullable
|
|
public static String serialize{{ field.type.type.baseTypeName }}(@Nullable final {{ utils.formatValueType(field.type.type, true, true) }} value) {
|
|
if (value == null) {
|
|
return null;
|
|
}
|
|
return value.toString();
|
|
}
|
|
|
|
@TypeConverter
|
|
@Nullable
|
|
public static {{ utils.formatValueType(field.type.type, true, true) }} deserialize{{ field.type.type.baseTypeName }}(@Nullable final String value) {
|
|
if (value == null) {
|
|
return null;
|
|
}
|
|
try {
|
|
return DateTime.parse(value);
|
|
} catch (final Exception exception) {
|
|
return null;
|
|
}
|
|
}
|
|
|
|
{%- set converters = merge(converters, field.type.type.baseTypeName) -%}
|
|
{%- elseif field.type.type.baseTypeName != "Bool"
|
|
and field.type.type.baseTypeName != "Int"
|
|
and field.type.type.baseTypeName != "Long"
|
|
and field.type.type.baseTypeName != "Double"
|
|
and field.type.type.baseTypeName != "String"
|
|
and field.type.storable != true %}
|
|
|
|
@TypeConverter
|
|
@Nullable
|
|
public static String serialize{{ field.type.type.baseTypeName }}(@Nullable final {{ utils.formatValueType(field.type.type, true, true) }} value) {
|
|
if (value == null) {
|
|
return null;
|
|
}
|
|
try {
|
|
return LoganSquare.serialize(value);
|
|
} catch (final IOException exception) {
|
|
return null;
|
|
}
|
|
}
|
|
|
|
@TypeConverter
|
|
@Nullable
|
|
public static {{ utils.formatValueType(field.type.type, true, true) }} deserialize{{ field.type.type.baseTypeName }}(@Nullable final String value) {
|
|
if (value == null) {
|
|
return null;
|
|
}
|
|
try {
|
|
return LoganSquare.parse(value, {{ utils.formatValueType(field.type.type, true, true) }}.class);
|
|
} catch (final IOException exception) {
|
|
return null;
|
|
}
|
|
}
|
|
|
|
{%- set converters = merge(converters, field.type.type.baseTypeName) -%}
|
|
{%- endif -%}
|
|
|
|
{%- endif -%}
|
|
|
|
{%- endfor -%}
|
|
|
|
{%- endif -%}
|