All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.jeppeman.globallydynamic.gradle.generators.Generator.kt Maven / Gradle / Ivy

Go to download

GloballyDynamic - Gradle plugin to facilitate for local dynamic delivery for Android.

There is a newer version: 1.9.0
Show newest version
package com.jeppeman.globallydynamic.gradle.generators

import com.squareup.javapoet.FieldSpec
import com.squareup.javapoet.JavaFile
import com.squareup.javapoet.MethodSpec
import com.squareup.javapoet.TypeSpec
import java.io.File
import javax.lang.model.element.Modifier

internal abstract class Generator(private val outputFile: File) {
    abstract val typeSpec: TypeSpec

    protected fun FieldSpec.asGetter(name: String = this.name): MethodSpec =
        MethodSpec.methodBuilder("get${name.capitalize()}")
            .addModifiers(Modifier.PUBLIC)
            .addStatement("return \$L", this.name)
            .returns(type)
            .build()

    fun generate() {
        JavaFile.builder(TypeNames.PACKAGE_NAME, typeSpec)
            .addFileComment("Generated by GloballyDynamic, do not modify")
            .build()
            .writeTo(outputFile)
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy