org.eclipse.ocl.examples.codegen.ecore
Class OCLGenModelGeneratorAdapter

java.lang.Object
  extended by org.eclipse.emf.common.notify.impl.SingletonAdapterImpl
      extended by org.eclipse.emf.codegen.ecore.generator.AbstractGeneratorAdapter
          extended by org.eclipse.emf.codegen.ecore.genmodel.generator.GenBaseGeneratorAdapter
              extended by org.eclipse.ocl.examples.codegen.ecore.OCLGenModelGeneratorAdapter
All Implemented Interfaces:
org.eclipse.emf.codegen.ecore.generator.GeneratorAdapter, org.eclipse.emf.common.notify.Adapter, org.eclipse.emf.common.notify.Adapter.Internal

public class OCLGenModelGeneratorAdapter
extends org.eclipse.emf.codegen.ecore.genmodel.generator.GenBaseGeneratorAdapter


Nested Class Summary
 
Nested classes/interfaces inherited from class org.eclipse.emf.codegen.ecore.generator.AbstractGeneratorAdapter
org.eclipse.emf.codegen.ecore.generator.AbstractGeneratorAdapter.JETEmitterDescriptor
 
Nested classes/interfaces inherited from interface org.eclipse.emf.common.notify.Adapter
org.eclipse.emf.common.notify.Adapter.Internal
 
Field Summary
static java.lang.String OCL_GENMODEL_URI
           
static java.lang.String USE_DELEGATES_KEY
           
 
Fields inherited from class org.eclipse.emf.codegen.ecore.genmodel.generator.GenBaseGeneratorAdapter
EDIT_PROJECT_TYPE, EDITOR_PROJECT_TYPE, MODEL_PROJECT_TYPE, TESTS_PROJECT_TYPE
 
Fields inherited from class org.eclipse.emf.codegen.ecore.generator.AbstractGeneratorAdapter
adapterFactory, generatingObject, gifEmitters, importManager, jetEmitters, lineDelimiter, MANIFEST_ENCODING, message, OBJECT_ARGUMENT, PROPERTIES_ENCODING, uriConverter
 
Fields inherited from class org.eclipse.emf.common.notify.impl.SingletonAdapterImpl
targets
 
Constructor Summary
OCLGenModelGeneratorAdapter(OCLGeneratorAdapterFactory generatorAdapterFactory)
           
 
Method Summary
protected  void convertConstraintsToOperations(MetaModelManager metaModelManager, org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel)
           
protected  void convertConstraintToOperation(Ecore2Pivot ecore2pivot, org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel, org.eclipse.emf.ecore.EClassifier eClassifier, java.lang.String key, java.lang.String body, java.lang.String message)
           
protected  void createClassBodies(org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel, org.eclipse.emf.common.util.Monitor monitor)
           
protected  void createDispatchTables(org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel, org.eclipse.emf.common.util.Monitor monitor)
           
protected  java.util.Map<java.lang.String,java.lang.String> createFeatureBodies(org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel)
          Create a Map of feature identification to body to be embedded in the EMF model.
protected  org.eclipse.emf.common.util.Diagnostic doPreGenerate(java.lang.Object object, java.lang.Object projectType)
           
protected  org.eclipse.emf.common.util.Diagnostic generateModel(java.lang.Object object, org.eclipse.emf.common.util.Monitor monitor)
           
protected  java.io.File getProjectFolder(org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel)
           
protected  boolean hasDelegates(org.eclipse.emf.ecore.EPackage ePackage)
           
protected  boolean hasDelegates(org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel)
          Return true if any local GenPackage is for an EPackage that has OCL validation/setting/invocation delegates.
protected  void installJavaBodies(MetaModelManager metaModelManager, org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel, java.util.Map<java.lang.String,java.lang.String> results)
           
protected  void installOperation(Ecore2Pivot ecore2pivot, org.eclipse.emf.ecore.EOperation eOperation, java.util.Map<java.lang.String,java.lang.String> results)
           
protected  void installProperty(Ecore2Pivot ecore2pivot, org.eclipse.emf.ecore.EStructuralFeature eFeature, java.util.Map<java.lang.String,java.lang.String> results)
           
protected  void pruneDelegates(org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel)
          Eliminate all OCL validation/setting/invocation delegates.
protected  java.util.List<java.lang.String> pruneDelegates(java.util.List<java.lang.String> oldDelegates)
           
static boolean useDelegates(org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel)
          Return true if the genModel has a OCL_GENMODEL_URI GenAnnotation with a USE_DELEGATES_KEY detail set to true.
 
Methods inherited from class org.eclipse.emf.codegen.ecore.genmodel.generator.GenBaseGeneratorAdapter
addBaseTemplatePathEntries, addClasspathEntries, canGenerate, canGenerateEdit, canGenerateEditor, canGenerateModel, canGenerateTests, clearImportManager, createImportManager, doGenerate, ensureProjectExists, generateEdit, generateEditor, generateTests, getGenerateChildren, getGenerateEditChildren, getGenerateEditorChildren, getGenerateModelChildren, getGenerateTestsChildren, getParent, getUserTemplatePath, setLineDelimiter
 
Methods inherited from class org.eclipse.emf.codegen.ecore.generator.AbstractGeneratorAdapter
createCodeFormatter, createGIFEmitter, createInputStream, createJETEmitter, createMonitor, createOutputStream, doPostGenerate, ensureContainerExists, exists, formatCode, formatCode, generate, generateGIF, generateJava, generateProperties, generateText, getAdapterFactory, getCanGenerateChildren, getCanGenerateParent, getContents, getEncoding, getGenerateParent, getGenerator, getGIFEmitter, getImportManager, getJETEmitter, getLineDelimiter, getLineDelimiter, getURIConverter, isAdapterForType, isReadOnly, postGenerate, preGenerate, setAdapterFactory, setStaticTemplateClass, setStaticTemplateClass, setWriteable, toDiagnostic, toPlatformResourceURI, toURI, validateEdit
 
Methods inherited from class org.eclipse.emf.common.notify.impl.SingletonAdapterImpl
dispose, getTarget, notifyChanged, setTarget, unsetTarget
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.eclipse.emf.codegen.ecore.generator.GeneratorAdapter
dispose
 

Field Detail

OCL_GENMODEL_URI

public static final java.lang.String OCL_GENMODEL_URI
See Also:
Constant Field Values

USE_DELEGATES_KEY

public static final java.lang.String USE_DELEGATES_KEY
See Also:
Constant Field Values
Constructor Detail

OCLGenModelGeneratorAdapter

public OCLGenModelGeneratorAdapter(OCLGeneratorAdapterFactory generatorAdapterFactory)
Method Detail

useDelegates

public static boolean useDelegates(org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel)
Return true if the genModel has a OCL_GENMODEL_URI GenAnnotation with a USE_DELEGATES_KEY detail set to true.


convertConstraintToOperation

protected void convertConstraintToOperation(Ecore2Pivot ecore2pivot,
                                            org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel,
                                            org.eclipse.emf.ecore.EClassifier eClassifier,
                                            java.lang.String key,
                                            java.lang.String body,
                                            java.lang.String message)

convertConstraintsToOperations

protected void convertConstraintsToOperations(MetaModelManager metaModelManager,
                                              org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel)

createClassBodies

protected void createClassBodies(org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel,
                                 org.eclipse.emf.common.util.Monitor monitor)
                          throws java.io.IOException
Throws:
java.io.IOException

createDispatchTables

protected void createDispatchTables(org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel,
                                    org.eclipse.emf.common.util.Monitor monitor)
                             throws java.io.IOException
Throws:
java.io.IOException

createFeatureBodies

protected java.util.Map<java.lang.String,java.lang.String> createFeatureBodies(org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel)
                                                                        throws java.io.IOException
Create a Map of feature identification to body to be embedded in the EMF model.

Throws:
java.io.IOException

doPreGenerate

protected org.eclipse.emf.common.util.Diagnostic doPreGenerate(java.lang.Object object,
                                                               java.lang.Object projectType)
Overrides:
doPreGenerate in class org.eclipse.emf.codegen.ecore.generator.AbstractGeneratorAdapter

generateModel

protected org.eclipse.emf.common.util.Diagnostic generateModel(java.lang.Object object,
                                                               org.eclipse.emf.common.util.Monitor monitor)
Overrides:
generateModel in class org.eclipse.emf.codegen.ecore.genmodel.generator.GenBaseGeneratorAdapter

getProjectFolder

protected java.io.File getProjectFolder(org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel)

hasDelegates

protected boolean hasDelegates(org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel)
Return true if any local GenPackage is for an EPackage that has OCL validation/setting/invocation delegates.


hasDelegates

protected boolean hasDelegates(org.eclipse.emf.ecore.EPackage ePackage)

installJavaBodies

protected void installJavaBodies(MetaModelManager metaModelManager,
                                 org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel,
                                 java.util.Map<java.lang.String,java.lang.String> results)

installOperation

protected void installOperation(Ecore2Pivot ecore2pivot,
                                org.eclipse.emf.ecore.EOperation eOperation,
                                java.util.Map<java.lang.String,java.lang.String> results)

installProperty

protected void installProperty(Ecore2Pivot ecore2pivot,
                               org.eclipse.emf.ecore.EStructuralFeature eFeature,
                               java.util.Map<java.lang.String,java.lang.String> results)

pruneDelegates

protected void pruneDelegates(org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel)
Eliminate all OCL validation/setting/invocation delegates.


pruneDelegates

protected java.util.List<java.lang.String> pruneDelegates(java.util.List<java.lang.String> oldDelegates)