mapstruct-kotlin icon indicating copy to clipboard operation
mapstruct-kotlin copied to clipboard

KotlinBuilder generated by omitting the fields of the super class.

Open NohYooHan opened this issue 4 years ago • 0 comments

ex) models

abstract class Audit(
    val createdBy: String = "", val createdAt: OffsetDateTime = OffsetDateTime.now(),
    val lastModifiedBy: String = "", val lastModifiedAt: OffsetDateTime = OffsetDateTime.now()
) : Serializable

@KotlinBuilder
data class UserGroup(
    val id: Long = -1,
    val name: String = "",
    val roles: List<Role> = emptyList()
) : Audit()

generated builder class

package com.kakao.mail.gateman.common.model;

import java.lang.String;
import java.util.List;

public final class UserGroupBuilder {
  private long id;

  private String name;

  private List<Role> roles;

  public UserGroupBuilder setId(long id) {
    this.id = id;
    return this;
  }

  public UserGroupBuilder setName(String name) {
    this.name = name;
    return this;
  }

  public UserGroupBuilder setRoles(List<Role> roles) {
    this.roles = roles;
    return this;
  }

  public UserGroup create() {
    return new UserGroup(id, name, roles);
  }

  public static UserGroupBuilder builder() {
    return new UserGroupBuilder();
  }
}

Therefore, it is impossible to map the suepr class field.

NohYooHan avatar Jul 30 '20 01:07 NohYooHan