/** * */ package logbook.data.context; import java.util.Date; import logbook.dto.DockDto; import logbook.internal.AkashiTimer; /** * リクエストデータによる更新ではなく、タイマーによる更新を行うデータ * @author Nekopanda */ public class TimerContext { private final static TimerContext instance = new TimerContext(); private final AkashiTimer.RepairState[] akashiRepairStates = new AkashiTimer.RepairState[4]; private Date lastUpdated = new Date(); public static TimerContext get() { return instance; } public void update() { this.lastUpdated = new Date(); AkashiTimer akashiTimer = GlobalContext.getAkashiTimer(); for (int i = 0; i < 4; i++) { DockDto dock = GlobalContext.getDock(String.valueOf(i + 1)); AkashiTimer.RepairState repairState = null; if (dock != null) { repairState = akashiTimer.update(dock, this.lastUpdated); } this.akashiRepairStates[i] = repairState; } } public Date getLastUpdated() { return this.lastUpdated; } public AkashiTimer.RepairState getAkashiRepairState(int index) { return this.akashiRepairStates[index]; } }