package dfatool.strategy.elements;

import java.util.ArrayList;
import java.util.List;

import org.eclipse.core.runtime.IPath;

import patterns.Subject;
import dfatool.io.INetworkIO;
import dfatool.io.NetworkIOXML;

public class Network extends Subject{
	
	INetworkIO network;

	public Network(IPath projectPath){
		network = new NetworkIOXML(projectPath.append(ConfigurationConstants.NETWORK_FILE).toString());
	}

	
	public void updateElement(NetworkElement ne){
		network.updateElement(ne);
		System.out.println("Alerting");
		alertAll();
	}
	
	public void removeElement(NetworkElement ne){
		network.removeElement(new NetworkElement(ne.name, null));
		alertAll();
	}
	
	public List<NetworkElement> getList(){
		return new ArrayList<NetworkElement>(network.listElements());
	}

	

}
