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)。
|
*
|
* <p>这个形态没有厂商连接:落地表就在业务库里,读写都走业务数据源与 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);
|
}
|
}
|