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, getQualifiedClassNameclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetQualifiedClassNamepublic java.lang.String getIdentifier()
IMetamodelProviderInstancegetIdentifier in interface IMetamodelProviderInstancepublic int getPriority()
IMetamodelProviderInstanceCompoundMetamodelProviderService.getPriority in interface IMetamodelProviderInstancepublic org.eclipse.xtext.scoping.IScope getAllMetamodelObjects(org.eclipse.xtext.scoping.IScope delegateScope,
org.eclipse.emf.ecore.EObject ctx)
IMetamodelProviderIEObjectDescription for the use of scoping.
It uses the IEObjectDescriptions from the delegate scope provider too, this way the
EPackages from the XText index will be available too.getAllMetamodelObjects in interface IMetamodelProvidergetAllMetamodelObjects in class BaseMetamodelProviderServicedelegateScope - 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
IVQGenmodelProvidergetAllMetamodelObjects in interface IVQGenmodelProviderorg.eclipse.core.runtime.CoreExceptionpublic org.eclipse.emf.ecore.EPackage loadEPackage(java.lang.String packageUri,
org.eclipse.emf.ecore.resource.ResourceSet set)
IMetamodelProviderloadEPackage in interface IMetamodelProviderpublic boolean isGeneratedCodeAvailable(org.eclipse.emf.ecore.EPackage ePackage,
org.eclipse.emf.ecore.resource.ResourceSet set)
IMetamodelProviderisGeneratedCodeAvailable in interface IMetamodelProviderisGeneratedCodeAvailable in class BaseMetamodelProviderServiceePackage - 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)
IMetamodelProvidergetModelPluginId in interface IMetamodelProvidergetModelPluginId in class BaseMetamodelProviderServiceePackage - for which the model plugin ID is requestedset - used for context in the searchingpublic ViatraQueryGeneratorModel getGeneratorModel(org.eclipse.emf.ecore.EObject pattern)
IVQGenmodelProviderPattern). 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 IVQGenmodelProviderpublic 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)
IVQGenmodelProvidergetGeneratorModel in interface IVQGenmodelProviderpublic void saveGeneratorModel(org.eclipse.core.resources.IProject project,
ViatraQueryGeneratorModel generatorModel)
throws java.io.IOException
IVQGenmodelProviderIVQGenmodelProvider.getGeneratorModel(EObject) or the
IVQGenmodelProvider.getGeneratorModel(IProject, ResourceSet) methods.saveGeneratorModel in interface IVQGenmodelProviderjava.io.IOExceptionpublic org.eclipse.emf.codegen.ecore.genmodel.GenPackage findGenPackage(org.eclipse.emf.ecore.EObject ctx,
org.eclipse.emf.ecore.EPackage ePackage)
IVQGenmodelProviderGenPackage for a selected EPackage. The context object is used for
determining the actual project.findGenPackage in interface IVQGenmodelProviderGenPackage for the selected EPackagepublic org.eclipse.emf.codegen.ecore.genmodel.GenPackage findGenPackage(org.eclipse.emf.ecore.EObject ctx,
java.lang.String packageNsUri)
IVQGenmodelProviderGenPackage for a selected EPackage. The context object is used for
determining the actual project.findGenPackage in interface IVQGenmodelProviderGenPackage for the selected EPackagepublic org.eclipse.emf.codegen.ecore.genmodel.GenPackage findGenPackage(org.eclipse.emf.ecore.resource.ResourceSet set,
org.eclipse.emf.ecore.EPackage ePackage)
IVQGenmodelProviderGenPackage for a selected EPackage. The resource set is expected to be the
one Xtext assigns for a Java project.findGenPackage in interface IVQGenmodelProviderGenPackage for the selected EPackagepublic org.eclipse.emf.codegen.ecore.genmodel.GenPackage findGenPackage(org.eclipse.emf.ecore.resource.ResourceSet set,
java.lang.String packageNsUri)
IVQGenmodelProviderGenPackage for a selected EPackage. The resource set is expected to be the
one Xtext assigns for a Java project.findGenPackage in interface IVQGenmodelProviderGenPackage for the selected EPackagepublic 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)
IVQGenmodelProvidergetGeneratorModelPath in interface IVQGenmodelProviderpublic 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 BaseMetamodelProviderServiceprotected java.lang.String doGetQualifiedClassName(org.eclipse.emf.ecore.EClassifier classifier,
org.eclipse.emf.ecore.EObject context)
doGetQualifiedClassName in class BaseMetamodelProviderService