/
Libra
/
my-application
Обзор
Документация
Войти
/
Libra
/
my-application
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
app/src/main/java/com/libraprogramming/myapplication/presentation/mapper/CardViewModelMapper.java
79 строк
2 KB
Толмачёв Владимир Викторович
Architecture refactoring 2
20 июл 2026, 17:22
20 июл 2026, 17:22
87aa6f2
Код
Авторство
О чём код?
package com.libraprogramming.myapplication.presentation.mapper; import com.libraprogramming.domain.model.Card; import com.libraprogramming.domain.model.ExtraProperty; import com.libraprogramming.myapplication.presentation.internal.di.PerActivity; import com.libraprogramming.myapplication.presentation.view.model.CardViewModel; import com.libraprogramming.myapplication.presentation.view.model.ExtraPropertyViewModel; import javax.inject.Inject; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import java.util.List; @PerActivity public class CardViewModelMapper { @Inject public CardViewModelMapper() { } public CardViewModel map(Card card) { if (card == null) { throw new IllegalArgumentException("Cannot transform a null value"); } final CardViewModel viewModel = new CardViewModel(card.getId()); viewModel.setName(card.getName()); viewModel.setCode(card.getCode()); viewModel.setCodeFormat(card.getCodeFormat()); viewModel.setFavorite(card.isFavorite()); final var list = new ArrayList<ExtraPropertyViewModel>(); for (final var property : card.getExtraProperties()) { var target = new ExtraPropertyViewModel(); target.setType(property.getType()); target.setValue(property.getValue()); list.add(target); } viewModel.setExtraProperties(list); return viewModel; } public Card map(CardViewModel cardViewModel) { if (cardViewModel == null) { throw new IllegalArgumentException("Cannot transform a null value"); } final Card card = new Card(); card.setId(cardViewModel.getId()); card.setName(cardViewModel.getName()); card.setCode(cardViewModel.getCode()); // card.setCodeFormat(cardViewModel.getCodeFormat()); return card; } public List<CardViewModel> map(Collection<Card> cardCollection) { List<CardViewModel> models; if (cardCollection != null && !cardCollection.isEmpty()) { models = new ArrayList<>(); for (var card : cardCollection) { models.add(map(card)); } } else { models = Collections.emptyList(); } return models; } }