configurationimplementation.java

来自「plugin for eclipse」· Java 代码 · 共 144 行

JAVA
144
字号
/*
 * Created on May 16, 2005
 *
 * TODO To change the template for this generated file go to
 * Window - Preferences - Java - Code Style - Code Templates
 */
package isis.anp.nesc.ot;

import isis.anp.common.TNode;

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


/**
 * @author sallai
 *
 * TODO To change the template for this generated type comment go to
 * Window - Preferences - Java - Code Style - Code Templates
 */
public class ConfigurationImplementation {
	TNode defNode;
	
	// list of component objects
	ArrayList componentAliases = new ArrayList();
	// list of connection objects
	ArrayList connections = new ArrayList();
	
	
	Configuration configuration;
	
	public TNode getDefNode() {
		return defNode;
	}
	public void setDefNode(TNode defNode) {
		this.defNode = defNode;
	}
	
	public void addComponents(List componentAliasList) {
		Iterator i = componentAliasList.iterator();
		while (i.hasNext()) {
			ComponentAlias ca = (ComponentAlias) i.next();
			ca.setConfigurationImplementation(this);
			componentAliases.add(ca);
		}
	}

	public void addConnections(List connectionList) {
		Iterator i = connectionList.iterator();
		while (i.hasNext()) {
			Connection c = (Connection) i.next();
			c.setConfigurationImplementation(this);
			connections.add(c);
		}
	}
	
	public List getConnections()
	{
		return connections;
	}

	public void outline(Outline o) {
		o.addTabs();
		o.append("implementation {\n");
		o.incTabs();
		
		o.addTabs();
		o.append("components\n");

		o.incTabs();
		Iterator i = componentAliases.iterator();
		while (i.hasNext()) {
			ComponentAlias ca = (ComponentAlias) i.next();
			o.addTabs();
			ca.outline(o);
			if(i.hasNext()) {
				o.append(",");
			} else {
				o.append(";");
			}
			o.append("\n");
		}
		o.decTabs();

		
		//o.addTabs();
		//o.append("connections");
		o.append("\n");
		
		Iterator j = connections.iterator();
		while (j.hasNext()) {
			Connection c = (Connection) j.next();
			//o.incTabs();
			o.addTabs();
				c.outline(o);
			//o.decTabs();
			o.append(";\n");
		}

		o.decTabs();
		o.addTabs();
		o.append("}");
	}
	/**
	 * @param s
	 * @return
	 */
	public Component getComponentByAlias(String alias) {
		Iterator i = componentAliases.iterator();
		while (i.hasNext()) {
			ComponentAlias ca = (ComponentAlias) i.next();
//			System.out.println("Comparing "+ca.getAlias()+" with "+alias);
			if(ca.getAlias().equals(alias)) {
//				System.out.println("Match, returning component "+ca.getComponent().getName());			    
			    return ca.getComponent();
			}
		}
		return null;
	}
    
    public List getComponentAliases()
    {
        return componentAliases;
    }
    
    public Configuration getParent() {
        return configuration;
    }    
    
    /**
     * @return Returns the configuration.
     */
    public Configuration getConfiguration() {
        return configuration;
    }
    /**
     * @param configuration The configuration to set.
     */
    public void setConfiguration(Configuration configuration) {
        this.configuration = configuration;
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?