Newer
Older
AlgebraicDataflowArchitectureModel / AlgebraicDataflowArchitectureModel / src / models / dataFlowModel / ResourceDependencyGraph.java
n-nittta on 12 Aug 2019 900 bytes 初期コミット
package models.dataFlowModel;

import java.util.HashMap;
import java.util.Map;

import models.DirectedGraph;
import models.dataConstraintModel.IdentifierTemplate;

public class ResourceDependencyGraph extends DirectedGraph {
	protected Map<IdentifierTemplate, ResourceNode> nodeMap = null;
	
	public ResourceDependencyGraph() {
		super();
		nodeMap = new HashMap<>();
	}

	public void addEdge(IdentifierTemplate in, IdentifierTemplate out, DataflowChannelGenerator dfChannelGen) {
		ResourceNode srcNode = nodeMap.get(in);
		if (srcNode == null) {
			srcNode = new ResourceNode(in);
			addNode(srcNode);
			nodeMap.put(in, srcNode);
		}
		ResourceNode dstNode = nodeMap.get(out);
		if (dstNode == null) {
			dstNode = new ResourceNode(out);
			addNode(dstNode);
			nodeMap.put(out, dstNode);
		}
		addEdge(new ResourceDependency(srcNode, dstNode, dfChannelGen));
	}
}