package org.nl.acs.udw;

import cn.hutool.core.util.ObjectUtil;
import org.nl.acs.udw.service.impl.UnifiedDataUnit;

import java.util.List;

public interface UnifiedDataAppService {
    /**
     * 获取所有的key
     *
     * @return
     */
    List<String> getAllUnifiedKey();

    /**
     * 根据key获取数据单元
     *
     * @param key
     * @return
     */
    UnifiedDataUnit getUnifiedDataUnit(String key);

    UnifiedData getUnifiedData(String var1, String var2);

    Object getValue(String var1, String var2);

    void setValue(String var1, String var2, Object var3);

    void setValueNoLog(String var1, String var2, Object var3);

    List<UnifiedData> getHistoryUnifiedData(String var1, String var2);

    List<String> getAllDataKey(String var1);

    void removeValue(String var1, String var2);

    void setValueWithPersistenceNoLog(String var1, String var2, Object var3);

    void setValueWithPersistence(String var1, String var2, Object var3);

    void removeValueWithPersistence(String var1, String var2);

    static boolean isEquals(Object a, Object b) {
        return ObjectUtil.equal(a, b);
    }
}
