package de.FeatureModellingTool.Connector.View_IDMap;
import manager.ManagerInterface;
import manager.IllegalParameterException;
import context.Context;
import de.FeatureModellingTool.GraphicalEditor.*;
import de.FeatureModellingTool.Connector.Import;
import de.FeatureModellingTool.Connector.Export;
import de.reuse.ContextImplementation;
import component.FComponent;
import java.util.Hashtable;
/**
* Created by IntelliJ IDEA.
* User: saturn
* Date: 2004-5-6
* Time: 16:14:34
* To change this template use File | Settings | File Templates.
*/
public class Manager implements ManagerInterface {
public static ManagerInterface getInstance() {
return new Manager();
}
protected Context con = null;
protected Manager() {
if (con == null) {
try {
con = (Context) context.Manager.getInstance().getInstance(context.Manager.CONTEXT, Context.class);
} catch (IllegalParameterException ipe) {
//nerver arrive here
}
}
}
//��û���
public Context getContext() {
return con;
}
//�������Ƽ����ͻ�ȡһ��ʵ��������������ȷʱ�׳��쳣
public Object getInstance(String name, Class type) throws IllegalParameterException {
if ((!ConstantDefinition.VIEW_ID_MAP_NAME.equals(name)) || (!FComponent.class.equals(type))) {
throw new IllegalParameterException("IllegalParameterException");
}
View_IDMapImplementation imp = new View_IDMapImplementation();
Hashtable interfaces = null;
Hashtable classes = null;
interfaces = new Hashtable();
classes = new Hashtable();
interfaces.put(de.FeatureModellingTool.Connector.ConstantDefinition.IMPORT_INTERFACE, imp.getImport());
interfaces.put(ConstantDefinition.VIEW_ID_MAP_INTERFACE, imp);
classes.put(de.FeatureModellingTool.Connector.ConstantDefinition.IMPORT_INTERFACE, Import.class);
classes.put(ConstantDefinition.VIEW_ID_MAP_INTERFACE, View_IDMap.class);
ManagerInterface mi = component.Manager.getInstance();
mi = component.Manager.getInstance();
mi.getContext().putValue(component.Manager.INTERFACES, interfaces);
mi.getContext().putValue(component.Manager.CLASSES, classes);
mi.getContext().putValue(component.Manager.NAME, ConstantDefinition.VIEW_ID_MAP_NAME);
FComponent rst = (FComponent) mi.getInstance(component.Manager.NGOBJECT, FComponent.class);
return rst;
}
}