All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.jetlinks.plugin.internal.PluginDataIdMapper Maven / Gradle / Ivy

The newest version!
package org.jetlinks.plugin.internal;

import org.jetlinks.core.device.DeviceThingType;
import reactor.core.publisher.Flux;
import reactor.core.publisher.Mono;

public interface PluginDataIdMapper {

    String TYPE_DEVICE = DeviceThingType.device.getId();
    String TYPE_PRODUCT = "product";


    /**
     * 根据插件中的数据id,获取JetLinks平台内部的id.
     *
     * @param type       类型,如: device,product
     * @param pluginId   插件ID
     * @param externalId 外部ID
     * @return 平台内部ID
     */
    Mono getInternalId(String type, String pluginId, String externalId);

    /**
     * 根据平台内部的数据Id,获取插件中的数据ID
     *
     * @param type       类型,如: device,product
     * @param pluginId   插件ID
     * @param internalId 平台内部ID
     * @return 插件中的数据ID
     */
    Mono getExternalId(String type, String pluginId, String internalId);

    /**
     * 获取插件全部的映射信息
     * @param type 类型,如: device,product
     * @param pluginId 插件ID
     * @return 映射信息
     */
    default Flux getMappings(String type, String pluginId){
        return Flux.empty();
    }


}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy