package domain; import java.util.ArrayList; import java.util.List; import org.eclipse.emf.common.util.EList; import org.eclipse.emf.ecore.EAttribute; import org.eclipse.emf.ecore.EClass; import org.eclipse.emf.ecore.EOperation; import org.eclipse.emf.ecore.EReference; import controller.comparer.xmi.XmiAttributeElement; import controller.comparer.xmi.XmiClassElement; public class CD_Class { private String className; private List<CD_Attribute> attributes; private List<CD_Operation> operations; private List<CD_Reference> references; private List<CD_Class> superClasses; public CD_Class(XmiClassElement xmiClass){ attributes = new ArrayList<CD_Attribute>(); operations = new ArrayList<CD_Operation>(); references = new ArrayList<CD_Reference>(); className = xmiClass.getName(); for(XmiAttributeElement eAttribute : xmiClass.getAttributes()) { CD_Attribute attr = new CD_Attribute(eAttribute); attributes.add(attr); } } public CD_Class(EClass ecoreClass){ attributes = new ArrayList<CD_Attribute>(); operations = new ArrayList<CD_Operation>(); references = new ArrayList<CD_Reference>(); superClasses = new ArrayList<CD_Class>(); className = ecoreClass.getName(); for(EAttribute eAttribute : ecoreClass.getEAttributes()) { CD_Attribute attr = new CD_Attribute(eAttribute); attributes.add(attr); } for( EOperation eOperation : ecoreClass.getEAllOperations()) { CD_Operation op = new CD_Operation(eOperation); operations.add(op); } for( EReference eReference : ecoreClass.getEAllReferences()) { CD_Reference ref = new CD_Reference(eReference); references.add(ref); } for(EClass superClass : ecoreClass.getESuperTypes()) { superClasses.add(new CD_Class(superClass)); } } public String getClassName() { return className; } public void setClassName(String className) { this.className = className; } public List<CD_Attribute> getAttributes() { return attributes; } public void setAttributes(List<CD_Attribute> attributes) { this.attributes = attributes; } public List<CD_Class> getSuperClasses() { return superClasses; } public void setSuperClasses(List<CD_Class> superClasses) { this.superClasses = superClasses; } public List<CD_Operation> getOperations() { return operations; } public void setOperations(List<CD_Operation> operations) { this.operations = operations; } public List<CD_Reference> getReferences() { return references; } public void setReferences(List<CD_Reference> references) { this.references = references; } }