package com.battery.device.api; import java.util.List; import java.util.Map; import java.util.Set; import com.battery.device.model.AdapterCapabilities; import com.battery.device.model.ChannelIdentity; import com.battery.device.model.DetectedChannel; import com.battery.device.model.HistoryAvailability; import com.battery.device.model.HistoryPage; import com.battery.device.model.RealtimeSnapshot; /** 没有启用具体设备实现时使用的空适配器,不连接外部设备。 */ public final class NoopDeviceAdapter implements DeviceAdapter { private final String adapterCode; public NoopDeviceAdapter(String adapterCode) { this.adapterCode = adapterCode == null || adapterCode.isBlank() ? "noop" : adapterCode; } @Override public String adapterCode() { return adapterCode; } @Override public AdapterCapabilities capabilities() { // Noop 不宣称发现或观测能力,避免业务把空结果误认为设备离线快照之外的成功事实。 return new AdapterCapabilities(false, false, false, false); } @Override public List discoverChannels() { return List.of(); } @Override public Map inquire(Set channels) { return Map.of(); } @Override public List inquireHistory(Set channels) { return List.of(); } @Override public HistoryPage downloadHistory(ChannelIdentity channel, String btsTestId, long startPosition, int limit) { return new HistoryPage(channel, btsTestId, startPosition, startPosition, List.of()); } }