Loading Language Integration/mechanisms/src/main/java/org/codeling/mechanisms/ClassMechanism.xtend +22 −12 Original line number Diff line number Diff line Loading @@ -166,4 +166,14 @@ abstract class ClassMechanism extends Mechanism { ''' } def String createImportsForTargetTransformations() { return ''' «IF !eClass.EStructuralFeatures.isEmpty» «FOR feature : eClass.EStructuralFeatures» import org.codeling.lang.«languageName».transformation.«eClass.name.toFirstLower»_feature.«feature»Transformation; «ENDFOR» «ENDIF» ''' } } Language Integration/mechanisms/src/main/java/org/codeling/mechanisms/attributes/ConstantMemberAttributeMechanism.xtend +12 −9 Original line number Diff line number Diff line Loading @@ -35,7 +35,8 @@ class ConstantMemberAttributeMechanism extends AttributeMechanism { } override createRuntime(IPackageFragment packageFragment, ENamedElement element) { var String typeName = element.name.toFirstUpper; val String typeName = element.name.toFirstUpper; val String targetTypeName = (element as EAttribute).EType.name; val content = ''' package «packageFragment.elementName»; Loading @@ -43,7 +44,9 @@ class ConstantMemberAttributeMechanism extends AttributeMechanism { import constant_member_attribute.runtime.ConstantMemberAttributeRuntime; public class «typeName»Runtime extends ConstantMemberAttributeRuntime { public «typeName»Runtime(TypeMechanismRuntime owningRuntime) { super(owningRuntime, «typeName».class, «targetTypeName»Runtime.class); } } '''; Loading @@ -60,14 +63,14 @@ class ConstantMemberAttributeMechanism extends AttributeMechanism { import java.util.List; import org.codeling.mechanisms.transformations.ConstantMemberAttributeTransformation; import org.codeling.mechanisms.transformations.attributes.ConstantMemberAttributeTransformation; import org.eclipse.emf.ecore.EObject; import org.eclipse.jdt.core.IJavaElement; import org.eclipse.jdt.core.IType; import org.codeling.lang.base.java.transformation.AbstractModelCodeTransformation; import org.codeling.lang.«languageName».mm.«eAttribute.packageName».«eAttribute.packageName.toFirstUpper»Package; import org.codeling.lang.«languageName».mm.«eAttribute.packageName».«eAttribute.EContainingClass.name»; import «eAttribute.packageName».«eAttribute.packageName.toFirstUpper»Package; import «eAttribute.packageName».«eAttribute.EContainingClass.name»; public class «typeName»Transformation extends ConstantMemberAttributeTransformation<«eAttribute.EContainingClass.name»> { Loading @@ -83,9 +86,9 @@ class ConstantMemberAttributeMechanism extends AttributeMechanism { } @Override protected ClassMechanismTransformation<? extends EObject, ? extends IJavaElement> createSpecificTransformation( EObject targetModelElement) { new «eAttribute.EType.name»Transformation(this); protected void doCreateChildTransformationsToCode( List<AbstractModelCodeTransformation<? extends EObject, ? extends IJavaElement>> result) { // TODO Auto-generated method stub } @Override Loading Language Integration/mechanisms/src/main/java/org/codeling/mechanisms/classes/ContainmentOperationMechanism.xtend +4 −4 Original line number Diff line number Diff line Loading @@ -37,7 +37,7 @@ class ContainmentOperationMechanism extends ClassMechanism { val content = ''' package «packageFragment.elementName»; import org.codeling.lang.«languageName».mm.«owningElementName.toLowerCase»_feature.«typeName»; import «languageName».mm.«owningElementName.toLowerCase»_feature.«typeName»; import org.codeling.mechanism.runtime.ContainmentOperationRuntime; import org.codeling.mechanism.runtime.common.IntegratedModelException; import org.codeling.mechanism.runtime.common.TypeMechanismRuntime; Loading Loading @@ -90,14 +90,14 @@ class ContainmentOperationMechanism extends ClassMechanism { import java.util.List; import org.codeling.mechanisms.transformations.ContainmentOperationTransformation; import org.codeling.mechanisms.transformations.classes.ContainmentOperationTransformation; import org.eclipse.emf.ecore.EObject; import org.eclipse.jdt.core.IJavaElement; import org.eclipse.jdt.core.IType; import org.codeling.lang.base.java.transformation.AbstractModelCodeTransformation; import org.codeling.lang.«languageName».mm.«eReference.packageName».«eReference.packageName»Package; import org.codeling.lang.«languageName».mm.«eReference.packageName».«eReference.EContainingClass.name»; import «eReference.packageName».«eReference.packageName»Package; import «eReference.packageName».«eReference.EContainingClass.name»; public class «typeName»Transformation extends ContainmentOperationTransformation<«eReference.EContainingClass.name», «eReference.EType.name»> { Loading Language Integration/mechanisms/src/main/java/org/codeling/mechanisms/classes/MarkerInterfaceMechanism.xtend +3 −3 Original line number Diff line number Diff line Loading @@ -81,14 +81,14 @@ class MarkerInterfaceMechanism extends ClassMechanism { import java.util.List; import org.codeling.mechanisms.transformations.MarkerInterfaceTransformation; import org.codeling.mechanisms.transformations.classes.MarkerInterfaceTransformation; import org.eclipse.emf.ecore.EObject; import org.eclipse.jdt.core.IJavaElement; import org.codeling.lang.base.java.transformation.AbstractModelCodeTransformation; import org.codeling.utils.CodelingException; import org.codeling.lang.«languageName».mm.«eClass.packageName».«eClass.packageName»Package; import org.codeling.lang.«languageName».mm.«eClass.packageName».«eClass.name»; import «eClass.packageName».«eClass.packageName»Package; import «eClass.packageName».«eClass.name»; «IF eClass.requiresFeaturePackageImport» Loading Language Integration/mechanisms/src/main/java/org/codeling/mechanisms/classes/NinjaSingletonMechanism.xtend +4 −3 Original line number Diff line number Diff line Loading @@ -68,14 +68,15 @@ class NinjaSingletonMechanism extends ClassMechanism { import java.util.List; import org.codeling.mechanisms.transformations.NinjaSingletonTransformation; import org.codeling.mechanisms.transformations.classes.NinjaSingletonTransformation; import org.eclipse.emf.ecore.EObject; import org.eclipse.jdt.core.IJavaElement; import org.codeling.lang.base.java.transformation.AbstractModelCodeTransformation; import org.codeling.utils.CodelingException; import org.codeling.lang.«languageName».mm.«eClass.packageName».«eClass.packageName»Package; import org.codeling.lang.«languageName».mm.«eClass.packageName».«eClass.name»; «createImportsForTargetTransformations» import «eClass.packageName».«eClass.packageName»Package; import «eClass.packageName».«eClass.name»; «IF eClass.requiresFeaturePackageImport» Loading Loading
Language Integration/mechanisms/src/main/java/org/codeling/mechanisms/ClassMechanism.xtend +22 −12 Original line number Diff line number Diff line Loading @@ -166,4 +166,14 @@ abstract class ClassMechanism extends Mechanism { ''' } def String createImportsForTargetTransformations() { return ''' «IF !eClass.EStructuralFeatures.isEmpty» «FOR feature : eClass.EStructuralFeatures» import org.codeling.lang.«languageName».transformation.«eClass.name.toFirstLower»_feature.«feature»Transformation; «ENDFOR» «ENDIF» ''' } }
Language Integration/mechanisms/src/main/java/org/codeling/mechanisms/attributes/ConstantMemberAttributeMechanism.xtend +12 −9 Original line number Diff line number Diff line Loading @@ -35,7 +35,8 @@ class ConstantMemberAttributeMechanism extends AttributeMechanism { } override createRuntime(IPackageFragment packageFragment, ENamedElement element) { var String typeName = element.name.toFirstUpper; val String typeName = element.name.toFirstUpper; val String targetTypeName = (element as EAttribute).EType.name; val content = ''' package «packageFragment.elementName»; Loading @@ -43,7 +44,9 @@ class ConstantMemberAttributeMechanism extends AttributeMechanism { import constant_member_attribute.runtime.ConstantMemberAttributeRuntime; public class «typeName»Runtime extends ConstantMemberAttributeRuntime { public «typeName»Runtime(TypeMechanismRuntime owningRuntime) { super(owningRuntime, «typeName».class, «targetTypeName»Runtime.class); } } '''; Loading @@ -60,14 +63,14 @@ class ConstantMemberAttributeMechanism extends AttributeMechanism { import java.util.List; import org.codeling.mechanisms.transformations.ConstantMemberAttributeTransformation; import org.codeling.mechanisms.transformations.attributes.ConstantMemberAttributeTransformation; import org.eclipse.emf.ecore.EObject; import org.eclipse.jdt.core.IJavaElement; import org.eclipse.jdt.core.IType; import org.codeling.lang.base.java.transformation.AbstractModelCodeTransformation; import org.codeling.lang.«languageName».mm.«eAttribute.packageName».«eAttribute.packageName.toFirstUpper»Package; import org.codeling.lang.«languageName».mm.«eAttribute.packageName».«eAttribute.EContainingClass.name»; import «eAttribute.packageName».«eAttribute.packageName.toFirstUpper»Package; import «eAttribute.packageName».«eAttribute.EContainingClass.name»; public class «typeName»Transformation extends ConstantMemberAttributeTransformation<«eAttribute.EContainingClass.name»> { Loading @@ -83,9 +86,9 @@ class ConstantMemberAttributeMechanism extends AttributeMechanism { } @Override protected ClassMechanismTransformation<? extends EObject, ? extends IJavaElement> createSpecificTransformation( EObject targetModelElement) { new «eAttribute.EType.name»Transformation(this); protected void doCreateChildTransformationsToCode( List<AbstractModelCodeTransformation<? extends EObject, ? extends IJavaElement>> result) { // TODO Auto-generated method stub } @Override Loading
Language Integration/mechanisms/src/main/java/org/codeling/mechanisms/classes/ContainmentOperationMechanism.xtend +4 −4 Original line number Diff line number Diff line Loading @@ -37,7 +37,7 @@ class ContainmentOperationMechanism extends ClassMechanism { val content = ''' package «packageFragment.elementName»; import org.codeling.lang.«languageName».mm.«owningElementName.toLowerCase»_feature.«typeName»; import «languageName».mm.«owningElementName.toLowerCase»_feature.«typeName»; import org.codeling.mechanism.runtime.ContainmentOperationRuntime; import org.codeling.mechanism.runtime.common.IntegratedModelException; import org.codeling.mechanism.runtime.common.TypeMechanismRuntime; Loading Loading @@ -90,14 +90,14 @@ class ContainmentOperationMechanism extends ClassMechanism { import java.util.List; import org.codeling.mechanisms.transformations.ContainmentOperationTransformation; import org.codeling.mechanisms.transformations.classes.ContainmentOperationTransformation; import org.eclipse.emf.ecore.EObject; import org.eclipse.jdt.core.IJavaElement; import org.eclipse.jdt.core.IType; import org.codeling.lang.base.java.transformation.AbstractModelCodeTransformation; import org.codeling.lang.«languageName».mm.«eReference.packageName».«eReference.packageName»Package; import org.codeling.lang.«languageName».mm.«eReference.packageName».«eReference.EContainingClass.name»; import «eReference.packageName».«eReference.packageName»Package; import «eReference.packageName».«eReference.EContainingClass.name»; public class «typeName»Transformation extends ContainmentOperationTransformation<«eReference.EContainingClass.name», «eReference.EType.name»> { Loading
Language Integration/mechanisms/src/main/java/org/codeling/mechanisms/classes/MarkerInterfaceMechanism.xtend +3 −3 Original line number Diff line number Diff line Loading @@ -81,14 +81,14 @@ class MarkerInterfaceMechanism extends ClassMechanism { import java.util.List; import org.codeling.mechanisms.transformations.MarkerInterfaceTransformation; import org.codeling.mechanisms.transformations.classes.MarkerInterfaceTransformation; import org.eclipse.emf.ecore.EObject; import org.eclipse.jdt.core.IJavaElement; import org.codeling.lang.base.java.transformation.AbstractModelCodeTransformation; import org.codeling.utils.CodelingException; import org.codeling.lang.«languageName».mm.«eClass.packageName».«eClass.packageName»Package; import org.codeling.lang.«languageName».mm.«eClass.packageName».«eClass.name»; import «eClass.packageName».«eClass.packageName»Package; import «eClass.packageName».«eClass.name»; «IF eClass.requiresFeaturePackageImport» Loading
Language Integration/mechanisms/src/main/java/org/codeling/mechanisms/classes/NinjaSingletonMechanism.xtend +4 −3 Original line number Diff line number Diff line Loading @@ -68,14 +68,15 @@ class NinjaSingletonMechanism extends ClassMechanism { import java.util.List; import org.codeling.mechanisms.transformations.NinjaSingletonTransformation; import org.codeling.mechanisms.transformations.classes.NinjaSingletonTransformation; import org.eclipse.emf.ecore.EObject; import org.eclipse.jdt.core.IJavaElement; import org.codeling.lang.base.java.transformation.AbstractModelCodeTransformation; import org.codeling.utils.CodelingException; import org.codeling.lang.«languageName».mm.«eClass.packageName».«eClass.packageName»Package; import org.codeling.lang.«languageName».mm.«eClass.packageName».«eClass.name»; «createImportsForTargetTransformations» import «eClass.packageName».«eClass.packageName»Package; import «eClass.packageName».«eClass.name»; «IF eClass.requiresFeaturePackageImport» Loading