scalaClassGraphqlParametrizedInput.ftl 2.7 KB
Newer Older
1
<#assign MapperUtil=statics["com.kobylynskyi.graphql.codegen.scala.ScalaGraphQLTypeMapper"]>
2 3 4 5 6
<#if package?has_content>
package ${package}

</#if>
import com.kobylynskyi.graphql.codegen.model.graphql.GraphQLParametrizedInput
7
import scala.collection.JavaConverters._
8 9 10 11
<#if fields?has_content>
    <#if enumImportItSelfInScala?has_content>
        <#list fields as field>
            <#list enumImportItSelfInScala as enum>
12
                <#if MapperUtil.isScalaCollection(field.type)>
13
                    <#if enum == field.type?replace("Seq[", "")?replace("]", "")>
梦境迷离's avatar
梦境迷离 已提交
14
import ${enum}._
15 16 17
                    </#if>
                <#else >
                    <#if enum == field.type>
梦境迷离's avatar
梦境迷离 已提交
18
import ${enum}._
19 20 21 22 23 24 25 26 27 28 29 30 31 32
                    </#if>
                </#if>
            </#list>
        </#list>
    </#if>
</#if>

<#if javaDoc?has_content>
/**
<#list javaDoc as javaDocLine>
 * ${javaDocLine}
</#list>
 */
</#if>
33
<#if generatedAnnotation && generatedInfo.getGeneratedType()?has_content>
34 35 36 37 38 39 40 41
@${generatedInfo.getGeneratedType()}(
    value = Array("com.kobylynskyi.graphql.codegen.GraphQLCodegen"),
    date = "${generatedInfo.getDateTime()}"
)
</#if>
<#list annotations as annotation>
@${annotation}
</#list>
42
case class ${className}(
43 44
<#if fields?has_content>
<#list fields as field>
45 46
    <#if field.deprecated?has_content>
    @${field.deprecated.annotation}(message = "${field.deprecated.reason}")
47 48
    </#if>
    <#list field.annotations as annotation>
49
    @${annotation}
50
    </#list>
51
    ${field.name}: ${field.type}<#if field.defaultValue?has_content> = <#if MapperUtil.isScalaOption(field.type)><#if field.defaultValue != "null">Some(${field.defaultValue})<#else>None</#if><#else>${field.defaultValue}</#if></#if><#if field_has_next>,</#if>
52 53
</#list>
</#if>
54 55 56 57 58 59 60 61 62 63 64 65
) extends GraphQLParametrizedInput {

    override def toString(): String = {<#--There is no Option[Seq[T]]-->
    <#if fields?has_content>
        Seq(<#list fields as field><#assign getMethod = ".get"><#assign asJava = ".asJava">
            <#if MapperUtil.isScalaPrimitive(field.type)>"${field.originalName}: " + GraphQLRequestSerializer.getEntry(${field.name})<#if field_has_next>,</#if><#elseif MapperUtil.isScalaOption(field.type)>if (${field.name}.isDefined) "${field.originalName}: " + GraphQLRequestSerializer.getEntry(${field.name}${getMethod}) else ""<#if field_has_next>,</#if><#else>if (${field.name} != null)<#if MapperUtil.isScalaCollection(field.type)> "${field.originalName}: " + GraphQLRequestSerializer.getEntry(${field.name}${asJava}) else ""<#if field_has_next>,</#if><#else> "${field.originalName}: " + GraphQLRequestSerializer.getEntry(${field.name}) else ""<#if field_has_next>,</#if></#if></#if></#list>
        ).filter(_ != "").mkString("(", ",", ")")
    <#else>
        "()"
    </#if>
    }

66
}