package com.cloudcc.core;

import java.util.HashMap;

/**
 * CCObject类是系统的核心对象类，继承自HashMap，用于存储和管理云平台对象数据
 * 该类提供了对象API名称和共享状态的设置与获取功能
 */
public class CCObject extends HashMap<String, Object> {
    /** 对象API名称的键常量 */
    public static final String OBJECT_API = "CCObjectAPI";
    /** 对象共享状态的键常量 */
    public static final String IS_SHARED = "isShared";
    /** 汇总字段的键常量 */
    public static final String SUM = "sum";

    /**
     * 无参构造函数，创建一个空的CCObject对象
     */
    public CCObject() {
    }

    /**
     * 带对象API名称的构造函数
     * 
     * @param ccobj 对象API名称
     */
    public CCObject(String ccobj) {
        put(OBJECT_API, ccobj);

    }

    /**
     * 带对象API名称和共享状态的构造函数
     * 
     * @param ccobj    对象API名称
     * @param isShared 共享状态标识
     */
    public CCObject(String ccobj, String isShared) {
        put(OBJECT_API, ccobj);
        put(IS_SHARED, "isShared");
    }

    /**
     * 存储汇总值
     * 
     * @param sumValueKey 汇总值的键名
     * @param value       汇总值
     */
    public void putSumValue(String sumValueKey, String value) {
        put(SUM + sumValueKey, value);
    }

    /**
     * 获取汇总值
     * 
     * @param sumValueKey 汇总值的键名
     * @return 对应键名的汇总值
     */
    public Object getSumValue(String sumValueKey) {
        return get(SUM + sumValueKey);
    }

    /**
     * 获取对象的API名称
     * 
     * @return 对象API名称字符串
     */
    public String getObjectApiName() {
        return (String) get(OBJECT_API);
    }

}
