yeg
2026-09-05 bd50f1b756c1da2dbf92f6541407ad40f455e24a
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
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<DetectedChannel> discoverChannels() { return List.of(); }
 
    @Override public Map<ChannelIdentity, RealtimeSnapshot> inquire(Set<ChannelIdentity> channels)
    {
        return Map.of();
    }
 
    @Override public List<HistoryAvailability> inquireHistory(Set<ChannelIdentity> 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());
    }
}