Я сейчас использую Mapstruct и хочу создать отображение таким образом, чтобы перед отображением ему нужно было убедиться, что данная координата находится в допустимой области или нет. Если недействительно, просто верните значение по умолчанию, а если верное, верните это значение.
Это то, что у меня есть
public class Business {
...
Coordinate coordinate;
}
public class BusinessDTO {
CoordinateDTO coordinate;
}
public class Coordinate {
double latitude;
double longitude;
}
public class CoordinateDTO {
double latitude;
double longitude;
}
@Mapping(componentModel = "spring", uses = CoordinateMapper.class)
public interface BusinessMapper {
BusinessDTO toDTO(Business business);
}
default CoordinateDTO getCoordinate(Coordinate coordinate) {
if (valid(coordinate)) {
return getCoordinateMapper().toDTO(coordinate);
}
return defaultCoordinate;
}
@Mapping(componentModel = "spring")
public interface CoordinateMapper {
CoordinateDTO toDTO(Coordinate coordinate);
}
Проблема в том, что я не знаю, как getCoordinateMapper()
. Одним из способов является использование Mappers.getMapper(CoordinateMapper.class)
, но на самом деле мой координатор координат должен ссылаться на другие преобразователи. Использование Mappers.getMapper(CoordinateMapper.class)
делает указанные преобразователи пустыми и вызывает исключение NullPointerException.
Есть предложения, как с этим справиться?