com.amrdeveloper.easyadapter.compiler.data.bind.BindImageResData.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of easyadapter-compiler Show documentation
Show all versions of easyadapter-compiler Show documentation
Android Annotation Processor library to generate adapter class easily from your model with a lot of customization.
The newest version!
package com.amrdeveloper.easyadapter.compiler.data.bind
import com.amrdeveloper.easyadapter.compiler.utils.ViewTable
import com.amrdeveloper.easyadapter.option.ViewSetterType
import com.squareup.kotlinpoet.ClassName
import com.squareup.kotlinpoet.FunSpec
data class BindImageResData (
override var fieldName : String,
override var viewId: String,
override var condition: String,
override var bindType: BindType = BindType.IMAGE_RES,
override var viewClassType: String = "android.widget.ImageView",
override var viewClassSetter: String = "setImageResource",
override var viewSetterType: ViewSetterType = ViewSetterType.METHOD,
) : BindingData() {
override fun generateFieldBinding(builder: FunSpec.Builder, table: ViewTable, rClass: ClassName) {
val variableName = declareViewVariableIfNotExists(builder, table, rClass)
val bindingStatement = "$variableName.${getBindingValueSetter()}"
val statement = if (condition.isEmpty()) bindingStatement else "if ($condition) $bindingStatement"
builder.addStatement (statement)
}
}