Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/351.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 具有组合属性的Modelmapper_Java_Modelmapper - Fatal编程技术网

Java 具有组合属性的Modelmapper

Java 具有组合属性的Modelmapper,java,modelmapper,Java,Modelmapper,给以下模型 class Project { String groupId; String artifactId; String version; } class ProjectWithId { String id; String groupId; String artifactId; String version; } 如何正确使用ModelMapper组合groupId、artifactId和version的值?例如,是否有办法避免以下情况: ProjectWi

给以下模型

class Project {
  String groupId;
  String artifactId;
  String version;
}

class ProjectWithId {
  String id;
  String groupId;
  String artifactId;
  String version;
}
如何正确使用ModelMapper组合groupId、artifactId和version的值?例如,是否有办法避免以下情况:

ProjectWithId projectWithId = modelMapper.map(project, ProjectWithId.class);
projectWithId.setId(project.getGroupId() + ":" + project.getArtifactId() + ":" + project.getVersion());

您需要创建自定义转换器来组合3个属性,即groupId、artifactId和version

例如

Converter<String, String> converter = new Converter<String, String>() {
  public String convert(MappingContext<String, String> context) {
    Project project = (Project) context.getParent().getSource();
    return project.groupId + project.artifactId+ project.version;
  }
};
modelMapper.addConverter(converter);