Commit 924446d0 authored by Marco Konersmann's avatar Marco Konersmann

Default implementation for doCreateChildTransformationsToCode of ReferenceMechanismTransformations

parent 3973624f
......@@ -14,7 +14,6 @@ import org.codeling.lang.cocome.transformation.ServerTransformation;
import org.codeling.mechanisms.transformations.ClassMechanismTransformation;
import org.codeling.mechanisms.transformations.references.NinjaSingletonContainmentTransformation;
import org.codeling.utils.CodelingException;
import org.codeling.utils.Models;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.jdt.core.IJavaElement;
import org.eclipse.jdt.core.IPackageFragment;
......@@ -26,8 +25,7 @@ import de.mkonersmann.advert.java.embed.transformation.AbstractModelCodeTransfor
public class ComponentsTransformation extends NinjaSingletonContainmentTransformation<Architecture, Component> {
public ComponentsTransformation(
ClassMechanismTransformation<Architecture, IJavaElement> parentTransformation) {
public ComponentsTransformation(ClassMechanismTransformation<Architecture, IJavaElement> parentTransformation) {
super(parentTransformation, CoCoMEPackage.eINSTANCE.getArchitecture_Components());
}
......@@ -39,19 +37,14 @@ public class ComponentsTransformation extends NinjaSingletonContainmentTransform
}
@Override
protected void doCreateChildTransformationsToCode(
List<AbstractModelCodeTransformation<? extends EObject, ? extends IJavaElement>> result) {
for (EObject target : Models.getTargetsAsList(modelElement, eReference)) {
ClassMechanismTransformation<? extends EObject, IType> t = null;
if (modelElement.eClass() == CoCoMEPackage.eINSTANCE.getServer())
t = new ServerTransformation(this);
else if (modelElement.eClass() == CoCoMEPackage.eINSTANCE.getConsole())
t = new ConsoleTransformation(this);
if (modelElement.eClass() == CoCoMEPackage.eINSTANCE.getModel())
t = new ModelTransformation(this);
t.setModelElement(target);
result.add(t);
}
protected ClassMechanismTransformation<? extends EObject, ? extends IJavaElement> createSpecificTransformation(
EObject targetModelElement) {
if (modelElement.eClass() == CoCoMEPackage.eINSTANCE.getServer())
return new ServerTransformation(this);
else if (modelElement.eClass() == CoCoMEPackage.eINSTANCE.getConsole())
return new ConsoleTransformation(this);
else
return new ModelTransformation(this);
}
@Override
......
......@@ -37,9 +37,9 @@ public class ChildrenTransformation<OWNINGCOMPONENTTYPE extends Component, TARGE
}
@Override
protected void doCreateChildTransformationsToCode(
List<AbstractModelCodeTransformation<? extends EObject, ? extends IJavaElement>> result) {
// TODO Auto-generated method stub
protected ClassMechanismTransformation<? extends EObject, ? extends IJavaElement> createSpecificTransformation(
EObject targetModelElement) {
return null;
}
@Override
......
......@@ -33,9 +33,9 @@ public class DispatchedTransformation<COMPONENTTYPE extends Component, OWNERCLAS
}
@Override
protected void doCreateChildTransformationsToCode(
List<AbstractModelCodeTransformation<? extends EObject, ? extends IJavaElement>> result) {
// TODO Auto-generated method stub
protected ClassMechanismTransformation<? extends EObject, ? extends IJavaElement> createSpecificTransformation(
EObject targetModelElement) {
return null;
}
@Override
......
......@@ -34,9 +34,9 @@ public class EventsTransformation<COMPONENTTYPE extends Component, OWNERTYPE ext
}
@Override
protected void doCreateChildTransformationsToCode(
List<AbstractModelCodeTransformation<? extends EObject, ? extends IJavaElement>> result) {
// TODO Auto-generated method stub
protected ClassMechanismTransformation<? extends EObject, ? extends IJavaElement> createSpecificTransformation(
EObject targetModelElement) {
return null;
}
@Override
......
......@@ -33,9 +33,9 @@ public class HandledTransformation<COMPONENTTYPE extends Component, OWNERCLASS
}
@Override
protected void doCreateChildTransformationsToCode(
List<AbstractModelCodeTransformation<? extends EObject, ? extends IJavaElement>> result) {
// TODO Auto-generated method stub
protected ClassMechanismTransformation<? extends EObject, ? extends IJavaElement> createSpecificTransformation(
EObject targetModelElement) {
return null;
}
@Override
......
......@@ -31,9 +31,9 @@ public class ProvidesTransformation<COMPONENTTYPE extends Component>
}
@Override
protected void doCreateChildTransformationsToCode(
List<AbstractModelCodeTransformation<? extends EObject, ? extends IJavaElement>> result) {
// TODO Auto-generated method stub
protected ClassMechanismTransformation<? extends EObject, ? extends IJavaElement> createSpecificTransformation(
EObject targetModelElement) {
return null;
}
@Override
......
......@@ -35,9 +35,9 @@ public class RequiresTransformation<COMPONENTTYPE extends Component> extends Ref
}
@Override
protected void doCreateChildTransformationsToCode(
List<AbstractModelCodeTransformation<? extends EObject, ? extends IJavaElement>> result) {
// TODO Auto-generated method stub
protected ClassMechanismTransformation<? extends EObject, ? extends IJavaElement> createSpecificTransformation(
EObject targetModelElement) {
return null;
}
@Override
......
......@@ -28,8 +28,9 @@ public class OperationsTransformation extends ContainmentOperationTransformation
}
@Override
protected void doCreateChildTransformationsToCode(
List<AbstractModelCodeTransformation<? extends EObject, ? extends IJavaElement>> result) {
protected ClassMechanismTransformation<? extends EObject, ? extends IJavaElement> createSpecificTransformation(
EObject targetModelElement) {
return null;
}
@Override
......
......@@ -31,9 +31,9 @@ public class InitialStateTransformation extends ReferenceMechanismTransformation
}
@Override
protected void doCreateChildTransformationsToCode(
List<AbstractModelCodeTransformation<? extends EObject, ? extends IJavaElement>> result) {
// TODO Auto-generated method stub
protected ClassMechanismTransformation<? extends EObject, ? extends IJavaElement> createSpecificTransformation(
EObject targetModelElement) {
return null;
}
@Override
......
......@@ -34,9 +34,9 @@ public class StatesTransformation extends ReferenceMechanismTransformation<Model
}
@Override
protected void doCreateChildTransformationsToCode(
List<AbstractModelCodeTransformation<? extends EObject, ? extends IJavaElement>> result) {
// TODO Auto-generated method stub
protected ClassMechanismTransformation<? extends EObject, ? extends IJavaElement> createSpecificTransformation(
EObject targetModelElement) {
return null;
}
@Override
......
......@@ -29,9 +29,9 @@ public class TransitionsTransformation extends ContainmentOperationTransformatio
}
@Override
protected void doCreateChildTransformationsToCode(
List<AbstractModelCodeTransformation<? extends EObject, ? extends IJavaElement>> result) {
// TODO Auto-generated method stub
protected ClassMechanismTransformation<? extends EObject, ? extends IJavaElement> createSpecificTransformation(
EObject targetModelElement) {
return null;
}
@Override
......
......@@ -22,8 +22,7 @@ public class TransferObjectsTransformation extends ReferenceMechanismTransformat
LinkedList<String> targetNames = new LinkedList<>();
public TransferObjectsTransformation(
ClassMechanismTransformation<Server, IType> parentTransformation) {
public TransferObjectsTransformation(ClassMechanismTransformation<Server, IType> parentTransformation) {
super(parentTransformation, CoCoMEPackage.eINSTANCE.getServer_TransferObjects());
}
......@@ -34,9 +33,9 @@ public class TransferObjectsTransformation extends ReferenceMechanismTransformat
}
@Override
protected void doCreateChildTransformationsToCode(
List<AbstractModelCodeTransformation<? extends EObject, ? extends IJavaElement>> result) {
// TODO Auto-generated method stub
protected ClassMechanismTransformation<? extends EObject, ? extends IJavaElement> createSpecificTransformation(
EObject targetModelElement) {
return null;
}
@Override
......
......@@ -27,9 +27,9 @@ public class TargetTransformation extends ReferenceMechanismTransformation<Trans
}
@Override
protected void doCreateChildTransformationsToCode(
List<AbstractModelCodeTransformation<? extends EObject, ? extends IJavaElement>> result) {
// TODO Auto-generated method stub
protected ClassMechanismTransformation<? extends EObject, ? extends IJavaElement> createSpecificTransformation(
EObject targetModelElement) {
return null;
}
@Override
......
......@@ -5,6 +5,7 @@ import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import org.codeling.utils.Models;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EModelElement;
import org.eclipse.emf.ecore.EObject;
......@@ -21,8 +22,7 @@ public abstract class ReferenceMechanismTransformation<OWNERECLASS extends EObje
protected EReference eReference = null;
protected List<TARGETECLASS> targetObjects = null;
public ReferenceMechanismTransformation(
ClassMechanismTransformation<OWNERECLASS, JAVAELEMENT> parentTransformation,
public ReferenceMechanismTransformation(ClassMechanismTransformation<OWNERECLASS, JAVAELEMENT> parentTransformation,
EReference eReference) {
super(parentTransformation);
this.eReference = eReference;
......@@ -96,6 +96,50 @@ public abstract class ReferenceMechanismTransformation<OWNERECLASS extends EObje
this.targetObjects = targetObjects;
}
abstract protected ClassMechanismTransformation<? extends EObject, ? extends IJavaElement> createSpecificTransformation(
EObject targetModelElement);
@Override
protected void doCreateChildTransformationsToCode(
List<AbstractModelCodeTransformation<? extends EObject, ? extends IJavaElement>> result) {
for (EObject target : Models.getTargetsAsList(modelElement, eReference)) {
try {
AbstractModelCodeTransformation<?, ?> t = createSpecificTransformation(target);
if (t == null)
continue;
if (idRegistry.knowsImplementationModelElement(target)) {
String priorID = idRegistry.getIDFromImplementationModelElement(target);
EObject oldElement = priorIDRegistry.resolveImplementationModelElement(priorID,
EcoreUtil.getRootContainer(modelElement));
if (oldElement != null)
t.setPriorModelElement(oldElement);
}
t.setModelElement(target);
result.add(t);
} catch (Throwable t) {
addError("Could not create target transformation.", t);
}
}
for (EObject target : Models.getTargetsAsList(priorModelElement, eReference)) {
try {
String priorID = priorIDRegistry.getIDFromImplementationModelElement(target);
EObject newElement = idRegistry.resolveImplementationModelElement(priorID,
EcoreUtil.getRootContainer(modelElement));
if (newElement == null) {
AbstractModelCodeTransformation<?, ?> t = createSpecificTransformation(target);
if (t == null)
continue;
t.setPriorModelElement(target);
result.add(t);
}
} catch (Throwable t) {
addError("Could not create target transformation.", t);
}
}
}
@Override
public boolean canHandle(EModelElement metaModelElement) {
return metaModelElement == eReference;
......
......@@ -6,12 +6,9 @@ import org.codeling.lang.jee7.mm.JEE7.Architecture;
import org.codeling.lang.jee7.mm.JEE7.Archive;
import org.codeling.lang.jee7.mm.JEE7.JEE7Package;
import org.codeling.lang.jee7.transformation.ArchiveTransformation;
import org.codeling.lang.jee7.transformation.NamespaceTransformation;
import org.codeling.mechanisms.transformations.ClassMechanismTransformation;
import org.codeling.mechanisms.transformations.references.NinjaSingletonContainmentTransformation;
import org.codeling.utils.Models;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.jdt.core.IJavaElement;
import org.eclipse.jdt.core.IJavaProject;
......@@ -19,8 +16,7 @@ import de.mkonersmann.advert.java.embed.transformation.AbstractModelCodeTransfor
public class ArchivesTransformation extends NinjaSingletonContainmentTransformation<Architecture, Archive> {
public ArchivesTransformation(
ClassMechanismTransformation<Architecture, IJavaElement> parentTransformation) {
public ArchivesTransformation(ClassMechanismTransformation<Architecture, IJavaElement> parentTransformation) {
super(parentTransformation, JEE7Package.eINSTANCE.getArchitecture_Archives());
}
......@@ -30,22 +26,9 @@ public class ArchivesTransformation extends NinjaSingletonContainmentTransformat
}
@Override
protected void doCreateChildTransformationsToCode(
List<AbstractModelCodeTransformation<? extends EObject, ? extends IJavaElement>> result) {
for (EObject target : Models.getTargetsAsList(modelElement, eReference)) {
AbstractModelCodeTransformation<?, ?> t = new ArchiveTransformation(this);
t.setModelElement(target);
result.add(t);
}
for (EObject target : Models.getTargetsAsList(priorModelElement, eReference)) {
String priorID = priorIDRegistry.getIDFromImplementationModelElement(target);
EObject newElement = idRegistry.resolveImplementationModelElement(priorID, EcoreUtil.getRootContainer(modelElement));
if (newElement == null) {
AbstractModelCodeTransformation<?, ?> t = new NamespaceTransformation(this);
t.setPriorModelElement(target);
result.add(t);
}
}
protected ClassMechanismTransformation<? extends EObject, ? extends IJavaElement> createSpecificTransformation(
EObject targetModelElement) {
return new ArchiveTransformation(this);
}
@Override
......
......@@ -13,9 +13,7 @@ import org.codeling.lang.jee7.transformation.FacesBeanTransformation;
import org.codeling.lang.jee7.transformation.SessionBeanTransformation;
import org.codeling.mechanisms.transformations.ClassMechanismTransformation;
import org.codeling.mechanisms.transformations.references.NinjaSingletonContainmentTransformation;
import org.codeling.utils.Models;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.jdt.core.IJavaElement;
import org.eclipse.jdt.core.IType;
......@@ -38,23 +36,10 @@ public class BeansTransformation extends NinjaSingletonContainmentTransformation
@Override
protected void doCreateChildTransformationsToCode(
List<AbstractModelCodeTransformation<? extends EObject, ? extends IJavaElement>> result) {
for (EObject target : Models.getTargetsAsList(modelElement, eReference)) {
AbstractModelCodeTransformation<?, ?> t = createSpecificTransformation(target);
t.setModelElement(target);
result.add(t);
}
for (EObject target : Models.getTargetsAsList(priorModelElement, eReference)) {
String priorID = priorIDRegistry.getIDFromImplementationModelElement(target);
EObject newElement = idRegistry.resolveImplementationModelElement(priorID, EcoreUtil.getRootContainer(modelElement));
if (newElement == null) {
AbstractModelCodeTransformation<?, ?> t = createSpecificTransformation(target);
t.setPriorModelElement(target);
result.add(t);
}
}
super.doCreateChildTransformationsToCode(result);
}
private AbstractModelCodeTransformation<?, IType> createSpecificTransformation(EObject modelElement) {
protected ClassMechanismTransformation<? extends Bean, IType> createSpecificTransformation(EObject modelElement) {
if (modelElement instanceof CDIBean)
return new CDIBeanTransformation(this);
else if (modelElement instanceof SessionBean)
......
......@@ -8,9 +8,7 @@ import org.codeling.lang.jee7.mm.JEE7.JEE7Package;
import org.codeling.lang.jee7.transformation.EntityTransformation;
import org.codeling.mechanisms.transformations.ClassMechanismTransformation;
import org.codeling.mechanisms.transformations.references.NinjaSingletonContainmentTransformation;
import org.codeling.utils.Models;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.jdt.core.IJavaElement;
import org.eclipse.jdt.core.IType;
......@@ -19,8 +17,7 @@ import de.mkonersmann.advert.java.embed.transformation.AbstractModelCodeTransfor
public class EntitiesTransformation extends NinjaSingletonContainmentTransformation<Architecture, Entity> {
public EntitiesTransformation(
ClassMechanismTransformation<Architecture, IJavaElement> parentTransformation) {
public EntitiesTransformation(ClassMechanismTransformation<Architecture, IJavaElement> parentTransformation) {
super(parentTransformation, JEE7Package.eINSTANCE.getArchitecture_Entities());
}
......@@ -32,22 +29,9 @@ public class EntitiesTransformation extends NinjaSingletonContainmentTransformat
}
@Override
protected void doCreateChildTransformationsToCode(
List<AbstractModelCodeTransformation<? extends EObject, ? extends IJavaElement>> result) {
for (EObject target : Models.getTargetsAsList(modelElement, eReference)) {
AbstractModelCodeTransformation<?, ?> t = new EntityTransformation(this);
t.setModelElement(target);
result.add(t);
}
for (EObject target : Models.getTargetsAsList(priorModelElement, eReference)) {
String priorID = priorIDRegistry.getIDFromImplementationModelElement(target);
EObject newElement = idRegistry.resolveImplementationModelElement(priorID, EcoreUtil.getRootContainer(modelElement));
if (newElement == null) {
AbstractModelCodeTransformation<?, ?> t = new EntityTransformation(this);
t.setPriorModelElement(target);
result.add(t);
}
}
protected ClassMechanismTransformation<? extends EObject, ? extends IJavaElement> createSpecificTransformation(
EObject targetModelElement) {
return new EntityTransformation(this);
}
@Override
......
......@@ -8,9 +8,7 @@ import org.codeling.lang.jee7.mm.JEE7.Namespace;
import org.codeling.lang.jee7.transformation.NamespaceTransformation;
import org.codeling.mechanisms.transformations.ClassMechanismTransformation;
import org.codeling.mechanisms.transformations.references.NinjaSingletonContainmentTransformation;
import org.codeling.utils.Models;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.jdt.core.IJavaElement;
import org.eclipse.jdt.core.IPackageFragment;
......@@ -19,8 +17,7 @@ import de.mkonersmann.advert.java.embed.transformation.AbstractModelCodeTransfor
public class NamespacesTransformation extends NinjaSingletonContainmentTransformation<Architecture, Namespace> {
public NamespacesTransformation(
ClassMechanismTransformation<Architecture, IJavaElement> parentTransformation) {
public NamespacesTransformation(ClassMechanismTransformation<Architecture, IJavaElement> parentTransformation) {
super(parentTransformation, JEE7Package.eINSTANCE.getArchitecture_Namespaces());
}
......@@ -32,22 +29,9 @@ public class NamespacesTransformation extends NinjaSingletonContainmentTransform
}
@Override
protected void doCreateChildTransformationsToCode(
List<AbstractModelCodeTransformation<? extends EObject, ? extends IJavaElement>> result) {
for (EObject target : Models.getTargetsAsList(modelElement, eReference)) {
AbstractModelCodeTransformation<?, ?> t = new NamespaceTransformation(this);
t.setModelElement(target);
result.add(t);
}
for (EObject target : Models.getTargetsAsList(priorModelElement, eReference)) {
String priorID = priorIDRegistry.getIDFromImplementationModelElement(target);
EObject newElement = idRegistry.resolveImplementationModelElement(priorID, EcoreUtil.getRootContainer(modelElement));
if (newElement == null) {
AbstractModelCodeTransformation<?, ?> t = new NamespaceTransformation(this);
t.setPriorModelElement(target);
result.add(t);
}
}
protected ClassMechanismTransformation<? extends EObject, ? extends IJavaElement> createSpecificTransformation(
EObject targetModelElement) {
return new NamespaceTransformation(this);
}
@Override
......@@ -55,7 +39,7 @@ public class NamespacesTransformation extends NinjaSingletonContainmentTransform
List<AbstractModelCodeTransformation<? extends EObject, ? extends IJavaElement>> result) {
try {
for (IPackageFragment pf : ASTUtils.getDistinctDirectChildPackageFragmentsOfAll(codeRoot)) {
if(pf.isDefaultPackage())
if (pf.isDefaultPackage())
continue; // Ignore the default package.
NamespaceTransformation t = new NamespaceTransformation(this);
t.setCodeElement(pf);
......
......@@ -25,8 +25,9 @@ public class BeansTransformation extends ProjectReferenceTransformation<Archive,
}
@Override
protected void doCreateChildTransformationsToCode(
List<AbstractModelCodeTransformation<? extends EObject, ? extends IJavaElement>> result) {
protected ClassMechanismTransformation<? extends EObject, ? extends IJavaElement> createSpecificTransformation(
EObject targetModelElement) {
return null;
}
@Override
......
......@@ -25,8 +25,9 @@ public class EntitiesTransformation extends ProjectReferenceTransformation<Archi
}
@Override
protected void doCreateChildTransformationsToCode(
List<AbstractModelCodeTransformation<? extends EObject, ? extends IJavaElement>> result) {
protected ClassMechanismTransformation<? extends EObject, ? extends IJavaElement> createSpecificTransformation(
EObject targetModelElement) {
return null;
}
@Override
......
......@@ -74,15 +74,9 @@ public class ChildOperationTransformation extends ContainmentOperationTransforma
}
@Override
protected void doCreateChildTransformationsToCode(
List<AbstractModelCodeTransformation<? extends EObject, ? extends IJavaElement>> result) {
List<EObject> operations = (List<EObject>) modelElement.eGet(eReference);
for (EObject operation : operations) {
DelegatedOperationTransformation t = new DelegatedOperationTransformation(this);
t.setModelElement(operation);
t.setPriorModelElement(findPriorModelElementFor(operation));
result.add(t);
}
protected ClassMechanismTransformation<? extends EObject, ? extends IJavaElement> createSpecificTransformation(
EObject targetModelElement) {
return new DelegatedOperationTransformation(this);
}
@Override
......
......@@ -143,6 +143,12 @@ public class ChildTypeTransformation
}
}
}
@Override
protected ClassMechanismTransformation<? extends EObject, ? extends IJavaElement> createSpecificTransformation(
EObject targetModelElement) {
return null; // not used
}
@Override
protected void doCreateChildTransformationsToModel(
......
......@@ -15,7 +15,8 @@ import org.eclipse.jdt.core.IType;
import de.mkonersmann.advert.java.embed.transformation.AbstractModelCodeTransformation;
public class OperationsTransformation<BEANTYPE extends Bean> extends ContainmentOperationTransformation<BEANTYPE, Operation> {
public class OperationsTransformation<BEANTYPE extends Bean>
extends ContainmentOperationTransformation<BEANTYPE, Operation> {
public OperationsTransformation(ClassMechanismTransformation<BEANTYPE, IType> parentTransformation) {
super(parentTransformation, JEE7Package.eINSTANCE.getBean_Operations());
......@@ -27,15 +28,9 @@ public class OperationsTransformation<BEANTYPE extends Bean> extends Containment
}
@Override
protected void doCreateChildTransformationsToCode(
List<AbstractModelCodeTransformation<? extends EObject, ? extends IJavaElement>> result) {
List<Operation> operations = modelElement.getOperations();
for (Operation operation : operations) {
OperationTransformation t = new OperationTransformation(this);
t.setModelElement(operation);
t.setPriorModelElement(findPriorModelElementFor(operation));
result.add(t);
}
protected ClassMechanismTransformation<? extends EObject, ? extends IJavaElement> createSpecificTransformation(
EObject targetModelElement) {
return new OperationTransformation(this);
}
@Override
......
......@@ -14,7 +14,8 @@ import org.eclipse.jdt.core.IType;
import de.mkonersmann.advert.java.embed.ASTUtils;
import de.mkonersmann.advert.java.embed.transformation.AbstractModelCodeTransformation;
public class ReferencedTransformation<OWNINGBEANTYPE extends Bean, TARGETBEANTYPE extends Bean> extends AnnotatedMemberReferenceTransformation<OWNINGBEANTYPE, TARGETBEANTYPE> {
public class ReferencedTransformation<OWNINGBEANTYPE extends Bean, TARGETBEANTYPE extends Bean>
extends AnnotatedMemberReferenceTransformation<OWNINGBEANTYPE, TARGETBEANTYPE> {
public ReferencedTransformation(ClassMechanismTransformation<OWNINGBEANTYPE, IType> parentTransformation) {
super(parentTransformation, JEE7Package.eINSTANCE.getBean_Referenced());
......@@ -27,9 +28,9 @@ public class ReferencedTransformation<OWNINGBEANTYPE extends Bean, TARGETBEANTYP
}
@Override
protected void doCreateChildTransformationsToCode(
List<AbstractModelCodeTransformation<? extends EObject, ? extends IJavaElement>> result) {
// TODO Auto-generated method stub
protected ClassMechanismTransformation<? extends EObject, ? extends IJavaElement> createSpecificTransformation(
EObject targetModelElement) {
return null;
}
@Override
......