package com.battery.business.service.impl; import com.battery.device.api.DeviceAdapter; import com.battery.device.api.registry.AdapterInstanceConfig; import com.battery.device.api.registry.DeviceAdapterFactory; import com.battery.business.mapper.TDeviceIngestRecordMapper; /** * 按存储形态 {@code PUSH_INGEST} 构造读落地表的适配器实例(ADR-0065)。 * *
这个形态没有厂商连接:落地表就在业务库里,读写都走业务数据源与 Mapper, * 所以工厂不需要凭据,装配不会因为"忘了放口令"失败。凭据(接收端点令牌)只在接收端点上校验。 */ public final class PushIngestAdapterFactory implements DeviceAdapterFactory { private final TDeviceIngestRecordMapper records; public PushIngestAdapterFactory(TDeviceIngestRecordMapper records) { this.records = records; } /** 返回本工厂负责的存储形态编码 PUSH_INGEST。 */ @Override public String adapterType() { return PushIngestAdapter.ADAPTER_TYPE; } /** * 按登记的实例配置构造读落地表的适配器。 * * @param config 实例配置,含编码、时区、轮询周期与来源形态配置 * @return 读落地表的推式来源适配器 */ @Override public DeviceAdapter create(AdapterInstanceConfig config) { return new PushIngestAdapter(config, records); } }