package org.archstudio.myxgen; import org.archstudio.myx.fw.EMyxInterfaceDirection; import org.archstudio.sysutils.SystemUtils; import org.eclipse.core.runtime.IConfigurationElement; public class MyxGenInterface extends AbstractExtension { protected final String name; protected final EMyxInterfaceDirection direction; protected final boolean single; protected final EServiceObjectDelegate serviceObjectDelegate; protected final boolean generateGetter; protected final String className; protected final String description; protected final String domain; public MyxGenInterface(IConfigurationElement element) { super(element); this.name = element.getAttribute("name"); this.direction = EMyxInterfaceDirection.valueOf(element.getAttribute("direction").toUpperCase()); this.single = Boolean.valueOf(element.getAttribute("single")); this.serviceObjectDelegate = EServiceObjectDelegate.valueOf(element.getAttribute("delegate")); this.generateGetter = Boolean.valueOf(element.getAttribute("getter")); this.className = element.getAttribute("class"); String description = null; for (IConfigurationElement child : element.getChildren()) { if ("description".equals(child.getName())) { description = child.getValue(); break; } } this.description = description; this.domain = element.getAttribute("domain"); } public String getName() { return name; } public EMyxInterfaceDirection getDirection() { return direction; } public boolean isSingle() { return single; } public EServiceObjectDelegate getServiceObjectDelegate() { return serviceObjectDelegate; } public boolean isGenerateGetter() { return generateGetter; } public String getClassName() { return className; } public String getDomain() { return domain; } public String getDescription() { return description; } @Override public String toString() { return SystemUtils.simpleName(this.getClass()) + "[" // + "name=" + name + ","// + "direction=" + direction + ","// + "single=" + single + ","// + "serviceObjectDelegate=" + serviceObjectDelegate + ","// + "generateGetter=" + generateGetter + ","// + "className=" + className + ","// + "domain=" + domain + ","// + "description=" + description + "]"; } }