package net.northking.cctp.se.lifecycle;

import net.northking.cctp.se.dto.EngineStatus;
import net.northking.cctp.se.dto.ScriptEngineInfo;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 * 引擎运行时
 */
public class EngineRuntime
{
  public static final Logger logger = LoggerFactory.getLogger(EngineRuntime.class);


  /**
   * 单例
   */
  private static EngineRuntime INSTANCE = new EngineRuntime();

  /**
   * 引擎的信息
   */
  private ScriptEngineInfo engineInfo;

  /**
   * 私有化构造函数，实现单例模式
   */
  private EngineRuntime()
  {
    engineInfo = new ScriptEngineInfo();
    engineInfo.setStatus(EngineStatus.INIT);
    //设置引擎注册默认开启三个线程池的可用标识
    String osName = System.getProperty("os.name");
  }

  /**
   * 获取引擎运行时信息（单例模式）
   *
   * @return 引擎运行时
   */
  public static EngineRuntime getRuntime()
  {
    return INSTANCE;
  }

  /**
   * 获取引擎详细信息
   *
   * @return 引擎详细信息
   */
  public ScriptEngineInfo getEngineInfo()
  {
    return engineInfo;
  }
}
