package com.digiwin.athenai.reactive.delegate.e10.sharedata;

import com.digiwin.athenai.reactive.core.ReactiveDataContext;
import com.digiwin.athenai.reactive.core.ReactiveEntity;
import com.digiwin.athenai.reactive.delegate.DefaultShareDataRelationBase;

import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
import java.util.List;

/**
 * ShareData 关系类
 */
public class E10_{TypeKey}_R_{id}_{counter} extends DefaultShareDataRelationBase {

    /**
     * 获取实体名称
     * @return
     */
    @Override
    public String getEntityName(){
        return "{entityName}";
    }

    /**
     * 获取实体的全路径名称。空表示根实体。
     * @return
     */
    @Override
    public String getEntityFullName(){
        return "{entityFullName}";
    }

    /**
     * 获取关系名称
     * @return
     */
    @Override
    public String getName(){
        return "{name}";
    }

    /**
     * 获取依赖项列表。绝对路径
     */
    @Override
    public List<String> getDependencyItems(){
        return {dependencyItems};
    }

    @Override
    protected String getSqlText(){
        return """
{sql}
        """;
    }

    @Override
    protected Map getParameter(ReactiveDataContext context){
        Map parameter = new HashMap();

        {parameter}

        return parameter;
    }
}
