ConstructorSpec
Why
Implementation
Construction
Implicit from the clazz-call
file("", "Hello"){
//--------------------- doesn't create a primary construcor
clazz("First") // class First
//-------------------- interoperability
val param = ParameterSpec.builder("par", String::class).build()
clazz("Second", param)// class Second(par: String)
val immutable = PropertySpec.builder("immutable", String::class).build()
clazz("Third", immutable) //class Third(val prop: String)
val mutableProp = PropertySpec.varBuilder("mutable", String::class).build()
clazz("Fourth", mutableProp) //class Fourth(var prop: String)
//------------------- KotlinPoetDSLs way
clazz("Fifth", "prop" of String::class) // Fifth(prop : String)
clazz("Sixth", "prop" varOf String::class) // Sixth(var prop : String)
clazz("Sixth", "prop" valOf String::class) // Sixth(val prop : String)
}Stand-alone using buildConstructor
Adding Stand-alone constructors to the class
Interoperability
Creating ConstructorSpec
Using ConstructorSpec
Getting KotlinPoetTypes
Last updated