Class ModelTranslator

java.lang.Object
net.ssehub.easy.dslCore.translation.MessageReceiver
net.ssehub.easy.dslCore.translation.ModelTranslator<ExpressionTranslator>
de.uni_hildesheim.sse.vil.expressions.translation.ModelTranslator<net.ssehub.easy.instantiation.core.model.buildlangModel.Script,net.ssehub.easy.instantiation.core.model.buildlangModel.VariableDeclaration,net.ssehub.easy.instantiation.core.model.buildlangModel.Resolver,net.ssehub.easy.instantiation.core.model.buildlangModel.ExpressionStatement,ExpressionTranslator>
de.uni_hildesheim.sse.buildLanguageTranslation.AbstractModelTranslator<net.ssehub.easy.instantiation.core.model.buildlangModel.Script,LanguageUnit>
de.uni_hildesheim.sse.buildLanguageTranslation.ModelTranslator
All Implemented Interfaces:
net.ssehub.easy.dslCore.translation.IMessageReceiver

public class ModelTranslator extends AbstractModelTranslator<net.ssehub.easy.instantiation.core.model.buildlangModel.Script,LanguageUnit>
Implements the translation from the DSL to the build model in the instantiator core.
Author:
Holger Eichelberger
  • Nested Class Summary

    Nested classes/interfaces inherited from class de.uni_hildesheim.sse.buildLanguageTranslation.AbstractModelTranslator

    AbstractModelTranslator.AbstractRuleTranslator<D extends org.eclipse.emf.ecore.EObject,R extends net.ssehub.easy.instantiation.core.model.buildlangModel.Rule>, AbstractModelTranslator.RuleTranslator
  • Constructor Summary

    Constructors
    Constructor
    Description
    Creates a model translator.
  • Method Summary

    Modifier and Type
    Method
    Description
    List<net.ssehub.easy.instantiation.core.model.buildlangModel.Script>
    createModel(ImplementationUnit unit, URI uri, boolean registerSuccessful, net.ssehub.easy.basics.modelManagement.ImportResolver<net.ssehub.easy.instantiation.core.model.buildlangModel.Script> impResolver)
    Creates a build model from a given implementation unit.
    protected net.ssehub.easy.instantiation.core.model.buildlangModel.Script
    createScript(String name, net.ssehub.easy.basics.modelManagement.ModelImport<net.ssehub.easy.instantiation.core.model.buildlangModel.Script> parent, net.ssehub.easy.instantiation.core.model.buildlangModel.Script.ScriptDescriptor<net.ssehub.easy.instantiation.core.model.buildlangModel.Script> descriptor, net.ssehub.easy.instantiation.core.model.vilTypes.TypeRegistry registry)
    Creates a script instance.
    protected net.ssehub.easy.basics.modelManagement.ModelManagement<net.ssehub.easy.instantiation.core.model.buildlangModel.Script>
    Returns the management instance.
    protected net.ssehub.easy.basics.modelManagement.IModelLoader<net.ssehub.easy.instantiation.core.model.buildlangModel.Script>
     

    Methods inherited from class de.uni_hildesheim.sse.vil.expressions.translation.ModelTranslator

    checkOperationAnnotations, convert, getExtensionImport, getResolver, postResolveImports, processAdvices, processCompoundContents, processCompounds, processImports, processTypedefContents, processTypedefs, processVariableDeclarations, processVariableDeclarations, resolveImports, resolveParameters, resolveParameters, warnVersionRestrictions

    Methods inherited from class net.ssehub.easy.dslCore.translation.ModelTranslator

    addMessage, collect, copy, error, error, getErrorCount, getExpressionTranslator, getMessage, getMessageCount, select, warning

    Methods inherited from class net.ssehub.easy.dslCore.translation.MessageReceiver

    error

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • ModelTranslator

      public ModelTranslator()
      Creates a model translator.
  • Method Details

    • createModel

      public List<net.ssehub.easy.instantiation.core.model.buildlangModel.Script> createModel(ImplementationUnit unit, URI uri, boolean registerSuccessful, net.ssehub.easy.basics.modelManagement.ImportResolver<net.ssehub.easy.instantiation.core.model.buildlangModel.Script> impResolver)
      Creates a build model from a given implementation unit. This is the top-level entry method.
      Parameters:
      unit - the language unit to be translated
      uri - the URI of the project to resolve (in order to find the closest project, may be null)
      registerSuccessful - successfully created models shall be registered
      Returns:
      the corresponding build model
    • createScript

      protected net.ssehub.easy.instantiation.core.model.buildlangModel.Script createScript(String name, net.ssehub.easy.basics.modelManagement.ModelImport<net.ssehub.easy.instantiation.core.model.buildlangModel.Script> parent, net.ssehub.easy.instantiation.core.model.buildlangModel.Script.ScriptDescriptor<net.ssehub.easy.instantiation.core.model.buildlangModel.Script> descriptor, net.ssehub.easy.instantiation.core.model.vilTypes.TypeRegistry registry)
      Creates a script instance.
      Specified by:
      createScript in class AbstractModelTranslator<net.ssehub.easy.instantiation.core.model.buildlangModel.Script,LanguageUnit>
      Parameters:
      name - Name of the project.
      parent - the super script to inherit from (as a script import, may be null, shall be member of imports or also null)
      descriptor - the descriptor carrying parameters, advices and imports (may be null)
      registry - the responsible type registry
    • getManagementInstance

      protected net.ssehub.easy.basics.modelManagement.ModelManagement<net.ssehub.easy.instantiation.core.model.buildlangModel.Script> getManagementInstance()
      Description copied from class: AbstractModelTranslator
      Returns the management instance.
      Specified by:
      getManagementInstance in class AbstractModelTranslator<net.ssehub.easy.instantiation.core.model.buildlangModel.Script,LanguageUnit>
      Returns:
      the management instance
    • getModelLoader

      protected net.ssehub.easy.basics.modelManagement.IModelLoader<net.ssehub.easy.instantiation.core.model.buildlangModel.Script> getModelLoader()
      Specified by:
      getModelLoader in class AbstractModelTranslator<net.ssehub.easy.instantiation.core.model.buildlangModel.Script,LanguageUnit>