https://kotlinlang.org logo
m

Marcel Overdijk

04/13/2018, 11:01 PM
I'm having a problem with secondary constructors:
Copy code
class Document private constructor(
        val meta: Map<String, Any>? = null,
        val jsonapi: Jsonapi? = null,
        val links: Map<String, Link>? = null
) : Serializable {

    var resource: Resource? = null
        private set

    var resources: List<Resource>? = null
        private set

    var errors: List<Error>? = null
        private set

    constructor(
            resource: Resource? = null,
            meta: Map<String, Any>? = null,
            jsonapi: Jsonapi? = null,
            links: Map<String, Link>? = null
    ) : this(meta, jsonapi, links) {
        this.resource = resource
    }

    constructor(
            resources: List<Resource>,
            meta: Map<String, Any>? = null,
            jsonapi: Jsonapi? = null,
            links: Map<String, Link>? = null
    ) : this(meta, jsonapi, links) {
        this.resources = resources
    }

    constructor(
            errors: List<Error>,
            meta: Map<String, Any>? = null,
            jsonapi: Jsonapi? = null,
            links: Map<String, Link>? = null
    ) : this(meta, jsonapi, links) {
        this.errors = errors
    }
}
when I remove the last constructor everything is fine but with I get: