Newer
Older
CactusServer / src / main / java / cactusServer / models / Instances.java
package cactusServer.models;

import java.util.HashMap;
import cactusServer.entities.Instance;

/**
 * インスタンスを管理するクラス
 * @author ryo isitani
 *
 */
public class Instances {
	private static Instances theInstance = null;
	private HashMap<String, Instance> instanceMap = new HashMap<>();
	
	private Instances() {
		
	}
	
	/**
	 * Instancesクラスを取得する (シングルトン)
	 * @return
	 */
	public static Instances getInstance() {
		if (theInstance == null) {
			theInstance = new Instances();
		}
		return theInstance;
	}
	
	/**
	 * 新しいInstanceクラスを作成してMapに追加する
	 * @param instanceId Instanceを識別する一意のID
	 * @param name インスタンス名 (仮)
	 */
	public void createInstance(String instanceId, String name) {
		Instance instance = new Instance(name);
		instanceMap.put(instanceId, instance);
	}

	/**
	 * IDに対応するInstanceを取得して返す
	 * @param instanceId 取得したいInstanceのID
	 * @return IDに対応するInstance
	 */
	public Instance getInstance(String instanceId) {
		return instanceMap.get(instanceId);
	}
	
}