/
java56
/
Minesweeper
Обзор
Документация
Войти
/
java56
/
Minesweeper
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
src/main/java/com/mikhail/minesweeper/mapper/GameMapper.java
28 строк
905 B
Mikhail Gorbatenkov
44 - added a mapper to the project
19 фев 2025, 15:00
19 фев 2025, 15:00
1775e35
Код
Авторство
О чём код?
package com.mikhail.minesweeper.mapper; import com.mikhail.minesweeper.dto.response.GameInfoResponse; import com.mikhail.minesweeper.model.Game; import com.mikhail.minesweeper.model.GameStatus; import com.mikhail.minesweeper.service.GameFieldService; import org.mapstruct.Mapper; import org.mapstruct.Mapping; import org.mapstruct.Named; import java.util.List; @Mapper(componentModel = "spring") public interface GameMapper { @Mapping(target = "completed", expression = "java(isGameCompleted(game))") @Mapping(target = "field", source = "game", qualifiedByName = "mapField") GameInfoResponse toGameInfoResponse(Game game); @Named("mapField") default List<List<String>> mapField(Game game) { return new GameFieldService().getFieldRepresentation(game); } default boolean isGameCompleted(Game game) { return GameStatus.COMPLETED == game.getStatus(); } }