/** * */ package logbook.dto; import java.util.ArrayList; import java.util.Date; import java.util.List; /** * @author Nekopanda * */ public class LostEntityDto { private Date time = new Date(); private String lostEntity; private int entityId; private String name; private String eventCaused; private LostEntityDto(ShipDto lostShip, String eventCaused) { this.setLostEntity("艦娘"); this.setEntityId(lostShip.getId()); this.setName(lostShip.getName() + " (Lv:" + lostShip.getLv() + ")"); this.setEventCaused(eventCaused); } private LostEntityDto(int id, String itemName, String causedBy) { this.setLostEntity("装備アイテム"); this.setEntityId(id); this.setName(itemName); this.setEventCaused(causedBy); } /** ロストした艦からデータ作成 */ public static List<LostEntityDto> make(ShipDto lostShip, String eventCaused) { LostEntityDto lostShipDto = new LostEntityDto(lostShip, eventCaused); List<LostEntityDto> list = new ArrayList<LostEntityDto>(); list.add(lostShipDto); List<ItemInfoDto> itemList = lostShip.getItem(); int[] itemIdList = lostShip.getItemId(); for (int i = 0; i < itemList.size(); ++i) { ItemInfoDto itemDto = itemList.get(i); Integer itemId = itemIdList[i]; if (itemDto != null) { list.add(new LostEntityDto(itemId, itemDto.getName(), lostShipDto.getEventCaused())); } else if (itemId != -1) { list.add(new LostEntityDto(itemId, lostShipDto.getName() + "が装備していた不明なアイテム" + (i + 1), lostShipDto.getEventCaused())); } } return list; } /** アイテムの廃棄データ作成 */ public static LostEntityDto make(int id, ItemDto lostItem) { return new LostEntityDto(id, lostItem.getName(), "装備の廃棄"); } /** * @return date */ public Date getTime() { return this.time; } /** * @param date セットする date */ public void setTime(Date time) { this.time = time; } /** * @return lostEntity */ public String getLostEntity() { return this.lostEntity; } /** * @param lostEntity セットする lostEntity */ public void setLostEntity(String lostEntity) { this.lostEntity = lostEntity; } /** * @return entityId */ public int getEntityId() { return this.entityId; } /** * @param entityId セットする entityId */ public void setEntityId(int entityId) { this.entityId = entityId; } /** * @return name */ public String getName() { return this.name; } /** * @param name セットする name */ public void setName(String name) { this.name = name; } /** * @return eventCaused */ public String getEventCaused() { return this.eventCaused; } /** * @param eventCaused セットする eventCaused */ public void setEventCaused(String eventCaused) { this.eventCaused = eventCaused; } }