Skip to content

Commit

Permalink
Review of fr.inria.diverse.melange.codegen.*
Browse files Browse the repository at this point in the history
  • Loading branch information
Thomas Degueule committed Mar 21, 2016
1 parent 8cb5e04 commit bb1d87c
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,12 @@ import org.eclipse.emf.codegen.ecore.genmodel.GenClass
import org.eclipse.emf.codegen.ecore.genmodel.generator.GenClassGeneratorAdapter
import org.eclipse.emf.common.util.Monitor

/**
* A specialized {@link GenClassGeneratorAdapter} used for generating the code
* of {@link ModelType}s that actually does nothing.
* Thus, the .impl package won't be generated, as it does not make sense to
* generate implementation classes for a {@link ModelType}.
*/
class ModelTypeGenClassGeneratorAdapter extends GenClassGeneratorAdapter {
new(GeneratorAdapterFactory generatorAdapterFactory) {
super(generatorAdapterFactory)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,14 @@ import java.util.List
import org.eclipse.emf.codegen.ecore.generator.GeneratorAdapterFactory
import org.eclipse.emf.codegen.ecore.genmodel.generator.GenPackageGeneratorAdapter

/**
* A specialized {@link GenPackageGeneratorAdapter} that registers a specialized
* JavaJet template for generated {@link EFactory} used for the generation of
* {@link ModelType}s. Using this template, the generated factory will always
* throw an exception when trying to create a new model element (via
* {@code createX()} methods), as {@link ModelType} are inherently abstract
* and it does not make sense to call the factory methods on them.
*/
class ModelTypeGenPackageGeneratorAdapter extends GenPackageGeneratorAdapter {
new(GeneratorAdapterFactory generatorAdapterFactory) {
super(generatorAdapterFactory)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,13 @@ package fr.inria.diverse.melange.codegen
import org.eclipse.emf.codegen.ecore.genmodel.generator.GenBaseGeneratorAdapter
import org.eclipse.emf.codegen.ecore.genmodel.generator.GenModelGeneratorAdapterFactory

/**
* A specialized {@link GenModelGeneratorAdapterFactory} that is used to tune
* the generation of the Java code of {@link ModelType}.
*
* @see ModelTypeGenPackageGeneratorAdapter
* @see ModelTypeGenClassGeneratorAdapter
*/
class ModelTypeGeneratorAdapterFactory extends GenModelGeneratorAdapterFactory {
protected GenBaseGeneratorAdapter overridedGenPackageGeneratorAdapter
protected GenBaseGeneratorAdapter overridedGenClassGeneratorAdapter
Expand Down

0 comments on commit bb1d87c

Please sign in to comment.