org.eclipse.ocl.examples.codegen.oclinecore
Class OCLinEcoreGenModelGeneratorAdapter
java.lang.Object
org.eclipse.emf.common.notify.impl.SingletonAdapterImpl
org.eclipse.emf.codegen.ecore.generator.AbstractGeneratorAdapter
org.eclipse.emf.codegen.ecore.genmodel.generator.GenBaseGeneratorAdapter
org.eclipse.ocl.examples.codegen.oclinecore.OCLinEcoreGenModelGeneratorAdapter
- 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 OCLinEcoreGenModelGeneratorAdapter
- extends org.eclipse.emf.codegen.ecore.genmodel.generator.GenBaseGeneratorAdapter
Nested classes/interfaces inherited from class org.eclipse.emf.codegen.ecore.generator.AbstractGeneratorAdapter |
org.eclipse.emf.codegen.ecore.generator.AbstractGeneratorAdapter.AttributeData, org.eclipse.emf.codegen.ecore.generator.AbstractGeneratorAdapter.ExtensionData, 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 |
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, BLANK_LINES_PATTERN, CONTINUATION_PATTERN, EXTENSION_POINT_PATTERN, GENERATED_PATTERN, generatingObject, gifEmitters, HEADER_PATTERN, importManager, jetEmitters, lineDelimiter, MANIFEST_ENCODING, message, OBJECT_ARGUMENT, PLUGIN_END_TAG_PATTERN, PROPERTIES_ENCODING, uriConverter, VERSION_PATTERN |
Fields inherited from class org.eclipse.emf.common.notify.impl.SingletonAdapterImpl |
targets |
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 |
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.lang.String |
getLineDelimiter(org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel)
Deduce the required line delimiter from the usage in the .project file. |
protected java.io.File |
getProjectFolder(org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel)
|
protected boolean |
hasConstraints(Class pivotClass)
|
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, or if there is no such GenAnnotation and the
global preference CommonOptions.CODE_GENERATION_MODE
has been set to CodeGenerationMode.DELEGATED |
static boolean |
useNullAnnotations(org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel)
Return true if the genModel has a OCL_GENMODEL_URI GenAnnotation with a
USE_NULL_ANNOTATIONS_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, getAttributeData, getCanGenerateChildren, getCanGenerateParent, getContents, getEncoding, getExtensionData, getGenerateParent, getGenerator, getGIFEmitter, getImportManager, getJETEmitter, getLineDelimiter, getLineDelimiter, getURIConverter, isAdapterForType, isReadOnly, mergeManifest, mergePluginXML, organizeImports, postGenerate, preGenerate, setAdapterFactory, setStaticTemplateClass, setStaticTemplateClass, setWriteable, shouldMerge, 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 |
OCL_GENMODEL_URI
@NonNull
public static final java.lang.String OCL_GENMODEL_URI
- See Also:
- Constant Field Values
USE_DELEGATES_KEY
@NonNull
public static final java.lang.String USE_DELEGATES_KEY
- See Also:
- Constant Field Values
USE_NULL_ANNOTATIONS_KEY
@NonNull
public static final java.lang.String USE_NULL_ANNOTATIONS_KEY
- See Also:
- Constant Field Values
OCLinEcoreGenModelGeneratorAdapter
public OCLinEcoreGenModelGeneratorAdapter(@NonNull
OCLinEcoreGeneratorAdapterFactory generatorAdapterFactory)
useDelegates
public static boolean useDelegates(@NonNull
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, or if there is no such GenAnnotation and the
global preference CommonOptions.CODE_GENERATION_MODE
has been set to CodeGenerationMode.DELEGATED
useNullAnnotations
public static boolean useNullAnnotations(@NonNull
org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel)
- Return true if the genModel has a
OCL_GENMODEL_URI
GenAnnotation with a
USE_NULL_ANNOTATIONS_KEY
detail set to true.
convertConstraintToOperation
protected void convertConstraintToOperation(@NonNull
Ecore2Pivot ecore2pivot,
@NonNull
org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel,
@NonNull
org.eclipse.emf.ecore.EClassifier eClassifier,
@NonNull
java.lang.String key,
@NonNull
java.lang.String body,
@Nullable
java.lang.String message)
convertConstraintsToOperations
protected void convertConstraintsToOperations(@NonNull
MetaModelManager metaModelManager,
@NonNull
org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel)
createDispatchTables
protected void createDispatchTables(@NonNull
org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel,
@NonNull
org.eclipse.emf.common.util.Monitor monitor)
throws java.io.IOException
- Throws:
java.io.IOException
createFeatureBodies
@NonNull
protected java.util.Map<java.lang.String,java.lang.String> createFeatureBodies(@NonNull
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
getLineDelimiter
protected java.lang.String getLineDelimiter(org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel)
- Deduce the required line delimiter from the usage in the .project file.
getProjectFolder
@NonNull
protected java.io.File getProjectFolder(@NonNull
org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel)
hasConstraints
protected boolean hasConstraints(Class pivotClass)
hasDelegates
protected boolean hasDelegates(@NonNull
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(@NonNull
org.eclipse.emf.ecore.EPackage ePackage)
installJavaBodies
protected void installJavaBodies(@NonNull
MetaModelManager metaModelManager,
@NonNull
org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel,
@NonNull
java.util.Map<java.lang.String,java.lang.String> results)
installOperation
protected void installOperation(@NonNull
Ecore2Pivot ecore2pivot,
@NonNull
org.eclipse.emf.ecore.EOperation eOperation,
@NonNull
java.util.Map<java.lang.String,java.lang.String> results)
installProperty
protected void installProperty(@NonNull
Ecore2Pivot ecore2pivot,
@NonNull
org.eclipse.emf.ecore.EStructuralFeature eFeature,
@NonNull
java.util.Map<java.lang.String,java.lang.String> results)
pruneDelegates
protected void pruneDelegates(@NonNull
org.eclipse.emf.codegen.ecore.genmodel.GenModel genModel)
- Eliminate all OCL validation/setting/invocation delegates.
pruneDelegates
protected java.util.List<java.lang.String> pruneDelegates(@Nullable
java.util.List<java.lang.String> oldDelegates)