yeg
4 天以前 3194ad3ce5526148df9009aeaa917b888dc53b40
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
package com.battery.device.api;
 
import java.util.List;
import java.util.Map;
import java.util.Set;
import com.battery.device.api.model.AdapterCapabilities;
import com.battery.device.api.model.ChannelIdentity;
import com.battery.device.api.model.DetectedChannel;
import com.battery.device.api.model.DeviceObservation;
 
/** 业务依赖的最小厂商无关设备观测契约。 */
public interface DeviceObservationAdapter extends AutoCloseable
{
    /** 返回适配器实例的稳定编码。 */
    String adapterCode();
 
    /** 返回当前运行时能力;业务不得据此向设备发送未授权命令。 */
    AdapterCapabilities capabilities();
 
    /** 发现当前端点可见的通道和设备身份。 */
    List<DetectedChannel> discoverChannels();
 
    /** 批量返回厂商无关观测;不可观测通道仍返回离线事实。 */
    Map<ChannelIdentity, DeviceObservation> observe(Set<ChannelIdentity> channels);
 
    @Override
    default void close()
    {
    }
}