public class GenModelMetamodelProviderService extends BaseMetamodelProviderService implements IVQGenmodelProvider, IMetamodelProviderInstance
logger, qualifiedNameConverter
Constructor and Description |
---|
GenModelMetamodelProviderService() |
Modifier and Type | Method and Description |
---|---|
protected java.lang.String |
doGetQualifiedClassName(org.eclipse.emf.ecore.EClassifier classifier,
org.eclipse.emf.ecore.EObject context) |
org.eclipse.emf.codegen.ecore.genmodel.GenPackage |
findGenPackage(org.eclipse.emf.ecore.EObject ctx,
org.eclipse.emf.ecore.EPackage ePackage)
Tries to find the EMF
GenPackage for a selected EPackage . |
org.eclipse.emf.codegen.ecore.genmodel.GenPackage |
findGenPackage(org.eclipse.emf.ecore.EObject ctx,
java.lang.String packageNsUri)
Tries to find the EMF
GenPackage for a selected EPackage . |
org.eclipse.emf.codegen.ecore.genmodel.GenPackage |
findGenPackage(org.eclipse.emf.ecore.resource.ResourceSet set,
org.eclipse.emf.ecore.EPackage ePackage)
Tries to find the EMF
GenPackage for a selected EPackage . |
org.eclipse.emf.codegen.ecore.genmodel.GenPackage |
findGenPackage(org.eclipse.emf.ecore.resource.ResourceSet set,
java.lang.String packageNsUri)
Tries to find the EMF
GenPackage for a selected EPackage . |
java.util.Collection<org.eclipse.emf.ecore.EPackage> |
getAllMetamodelObjects(org.eclipse.core.resources.IProject project)
Collects all EPackage objects available from a selected project, including the ones from the EPackage Registry.
|
org.eclipse.xtext.scoping.IScope |
getAllMetamodelObjects(org.eclipse.xtext.scoping.IScope delegateScope,
org.eclipse.emf.ecore.EObject ctx)
Returns a set of all available EPackages wrapped into
IEObjectDescription for the use of scoping. |
ViatraQueryGeneratorModel |
getGeneratorModel(org.eclipse.emf.ecore.EObject pattern)
Gets the generator model for a selected VIATRA query-related context object (e.g.
|
ViatraQueryGeneratorModel |
getGeneratorModel(org.eclipse.core.resources.IProject project) |
ViatraQueryGeneratorModel |
getGeneratorModel(org.eclipse.core.resources.IProject project,
org.eclipse.emf.ecore.resource.ResourceSet set)
Gets the generator model for a selected Viatra Query project.
|
ViatraQueryGeneratorModel |
getGeneratorModel(org.eclipse.emf.ecore.resource.ResourceSet set) |
org.eclipse.core.resources.IFile |
getGeneratorModelFile(org.eclipse.core.resources.IProject project) |
org.eclipse.core.runtime.IPath |
getGeneratorModelPath(org.eclipse.core.resources.IProject project)
Calculates the path of the generator model from a selected project.
|
java.lang.String |
getIdentifier()
Get a textual identifier for the metamodel provider instance
|
java.lang.String |
getModelPluginId(org.eclipse.emf.ecore.EPackage ePackage,
org.eclipse.emf.ecore.resource.ResourceSet set)
Returns the identifier of the plugin that contains the generated model code.
|
int |
getPriority()
A default priority for the provider instance; a lower number means a higher priority.
|
protected java.util.Collection<java.lang.String> |
getProvidedMetamodels() |
ViatraQueryGeneratorModel |
initializeGeneratorModel(org.eclipse.core.resources.IProject project,
org.eclipse.emf.ecore.resource.ResourceSet set)
Initializes and returns the VIATRA Query generator model for the selected project.
|
boolean |
isGeneratedCodeAvailable(org.eclipse.emf.ecore.EPackage ePackage,
org.eclipse.emf.ecore.resource.ResourceSet set)
Returns true if the generated code is available for the given EPackage, the code uses the given resource set
as context.
|
boolean |
isGeneratorModelDefined(org.eclipse.core.resources.IProject project) |
org.eclipse.emf.ecore.EPackage |
loadEPackage(java.lang.String packageUri,
org.eclipse.emf.ecore.resource.ResourceSet set)
Loads an EMF package from the nsURI or resource URI of the model, and uses the resource set given as the second
parameter.
|
void |
saveGeneratorModel(org.eclipse.core.resources.IProject project,
ViatraQueryGeneratorModel generatorModel)
Saves the changes to the generator model instance in the selected project.
|
getGenmodelRegistry, getModelPluginId, getQualifiedClassName
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getQualifiedClassName
public java.lang.String getIdentifier()
IMetamodelProviderInstance
getIdentifier
in interface IMetamodelProviderInstance
public int getPriority()
IMetamodelProviderInstance
CompoundMetamodelProviderService
.getPriority
in interface IMetamodelProviderInstance
public org.eclipse.xtext.scoping.IScope getAllMetamodelObjects(org.eclipse.xtext.scoping.IScope delegateScope, org.eclipse.emf.ecore.EObject ctx)
IMetamodelProvider
IEObjectDescription
for the use of scoping.
It uses the IEObjectDescription
s from the delegate scope provider too, this way the
EPackage
s from the XText index will be available too.getAllMetamodelObjects
in interface IMetamodelProvider
getAllMetamodelObjects
in class BaseMetamodelProviderService
delegateScope
- the delegate scopectx
- the context object for the scopingpublic java.util.Collection<org.eclipse.emf.ecore.EPackage> getAllMetamodelObjects(org.eclipse.core.resources.IProject project) throws org.eclipse.core.runtime.CoreException
IVQGenmodelProvider
getAllMetamodelObjects
in interface IVQGenmodelProvider
org.eclipse.core.runtime.CoreException
public org.eclipse.emf.ecore.EPackage loadEPackage(java.lang.String packageUri, org.eclipse.emf.ecore.resource.ResourceSet set)
IMetamodelProvider
loadEPackage
in interface IMetamodelProvider
public boolean isGeneratedCodeAvailable(org.eclipse.emf.ecore.EPackage ePackage, org.eclipse.emf.ecore.resource.ResourceSet set)
IMetamodelProvider
isGeneratedCodeAvailable
in interface IMetamodelProvider
isGeneratedCodeAvailable
in class BaseMetamodelProviderService
ePackage
- for which the availability of generated code is checkedset
- used for context in the checkingpublic java.lang.String getModelPluginId(org.eclipse.emf.ecore.EPackage ePackage, org.eclipse.emf.ecore.resource.ResourceSet set)
IMetamodelProvider
getModelPluginId
in interface IMetamodelProvider
getModelPluginId
in class BaseMetamodelProviderService
ePackage
- for which the model plugin ID is requestedset
- used for context in the searchingpublic ViatraQueryGeneratorModel getGeneratorModel(org.eclipse.emf.ecore.EObject pattern)
IVQGenmodelProvider
Pattern
). If the project
of the pattern has no generator model specified, this method returns an empty generator model. The genmodel will
be placed into the ResourceSet
of the Pattern object.getGeneratorModel
in interface IVQGenmodelProvider
public ViatraQueryGeneratorModel getGeneratorModel(org.eclipse.core.resources.IProject project)
public ViatraQueryGeneratorModel getGeneratorModel(org.eclipse.emf.ecore.resource.ResourceSet set)
public ViatraQueryGeneratorModel getGeneratorModel(org.eclipse.core.resources.IProject project, org.eclipse.emf.ecore.resource.ResourceSet set)
IVQGenmodelProvider
getGeneratorModel
in interface IVQGenmodelProvider
public void saveGeneratorModel(org.eclipse.core.resources.IProject project, ViatraQueryGeneratorModel generatorModel) throws java.io.IOException
IVQGenmodelProvider
IVQGenmodelProvider.getGeneratorModel(EObject)
or the
IVQGenmodelProvider.getGeneratorModel(IProject, ResourceSet)
methods.saveGeneratorModel
in interface IVQGenmodelProvider
java.io.IOException
public org.eclipse.emf.codegen.ecore.genmodel.GenPackage findGenPackage(org.eclipse.emf.ecore.EObject ctx, org.eclipse.emf.ecore.EPackage ePackage)
IVQGenmodelProvider
GenPackage
for a selected EPackage
. The context object is used for
determining the actual project.findGenPackage
in interface IVQGenmodelProvider
GenPackage
for the selected EPackage
public org.eclipse.emf.codegen.ecore.genmodel.GenPackage findGenPackage(org.eclipse.emf.ecore.EObject ctx, java.lang.String packageNsUri)
IVQGenmodelProvider
GenPackage
for a selected EPackage
. The context object is used for
determining the actual project.findGenPackage
in interface IVQGenmodelProvider
GenPackage
for the selected EPackage
public org.eclipse.emf.codegen.ecore.genmodel.GenPackage findGenPackage(org.eclipse.emf.ecore.resource.ResourceSet set, org.eclipse.emf.ecore.EPackage ePackage)
IVQGenmodelProvider
GenPackage
for a selected EPackage
. The resource set is expected to be the
one Xtext assigns for a Java project.findGenPackage
in interface IVQGenmodelProvider
GenPackage
for the selected EPackage
public org.eclipse.emf.codegen.ecore.genmodel.GenPackage findGenPackage(org.eclipse.emf.ecore.resource.ResourceSet set, java.lang.String packageNsUri)
IVQGenmodelProvider
GenPackage
for a selected EPackage
. The resource set is expected to be the
one Xtext assigns for a Java project.findGenPackage
in interface IVQGenmodelProvider
GenPackage
for the selected EPackage
public boolean isGeneratorModelDefined(org.eclipse.core.resources.IProject project)
public org.eclipse.core.resources.IFile getGeneratorModelFile(org.eclipse.core.resources.IProject project)
public org.eclipse.core.runtime.IPath getGeneratorModelPath(org.eclipse.core.resources.IProject project)
IVQGenmodelProvider
getGeneratorModelPath
in interface IVQGenmodelProvider
public ViatraQueryGeneratorModel initializeGeneratorModel(org.eclipse.core.resources.IProject project, org.eclipse.emf.ecore.resource.ResourceSet set)
protected java.util.Collection<java.lang.String> getProvidedMetamodels()
getProvidedMetamodels
in class BaseMetamodelProviderService
protected java.lang.String doGetQualifiedClassName(org.eclipse.emf.ecore.EClassifier classifier, org.eclipse.emf.ecore.EObject context)
doGetQualifiedClassName
in class BaseMetamodelProviderService