title: How to implement Builder pattern in Kotlin?
body: <p>Hi I am a newbie in the Kotlin world. I like what I see so far and started to think to convert some of our libraries we use in our application from Java to Kotlin.</p>
  
  <p>These libraries are full of Pojos with setters, getters and Builder classes. Now I have googled to find what is the best way to implement Builders in Kotlin but no success.</p>
  
  <p>2nd Update: The question is how to write a Builder design-pattern for a simple pojo with some parameters in Kotlin? The code below is my attempt by writing java code and then using the eclipse-kotlin-plugin to convert to Kotlin.</p>
  
  <pre><code>class Car private constructor(builder:Car.Builder) {
      var model:String? = null
      var year:Int = 0
      init {
          this.model = builder.model
          this.year = builder.year
      }
      companion object Builder {
          var model:String? = null
          private set
  
          var year:Int = 0
          private set
  
          fun model(model:String):Builder {
              this.model = model
              return this
          }
          fun year(year:Int):Builder {
              this.year = year
              return this
          }
          fun build():Car {
              val car = Car(this)
              return car
          }
      }
  }
  </code></pre>