|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.eclipse.emf.mwe.core.lib.AbstractWorkflowComponent org.eclipse.emf.mwe.core.lib.AbstractWorkflowComponent2 org.eclipse.xtext.mwe.AbstractReader org.eclipse.xtext.mwe.Reader
public class Reader
A Reader used to read EMF resources from a set of pathes.
A path can point to a folder or an archive (zips and jars are supported).
Those pathes are recursively scanned and all resources for which an IResourceServiceProvider
is
registered in the IResourceServiceProvider.Registry
will be available.
The ISetup
of an Xtext language registers such an IResourceServiceProvider
automatically. If you want to integrate with non Xtext-based models,
make sure to add IResourceServiceProvider
manually. The easiest way might be to implement an ISetup
.
A SlotEntry
is responsible for selecting certain EObjects from the loaded resources.
It supports selecting EObjects by their name (see IEObjectDescription
) or by an EClass.
In many cases such selction returns multiple EObjects, if you're only interested in one element set the firstOnly
flag to true
.
You might want to populate multiple workflow slots with model elements.
Below an example of a usage in the MWE XML syntax:
<component class="org.eclipse.xtext.mwe.Reader" useJavaClassPath="true"> <register class="foo.bar.MyLanguageSetandaloneSetup"/> <load slot="types" type="Type"/> <validate/> </component>It supports fetching elements by type
IResourceServiceProvider#getResourceDescriptionManager()
is used to identify model elements within these resources.
Field Summary | |
---|---|
protected static org.apache.log4j.Logger |
log
|
protected java.util.List<java.lang.String> |
pathes
|
Constructor Summary | |
---|---|
Reader()
|
Method Summary | |
---|---|
void |
addPath(java.lang.String path)
A path pointing to a folder, jar or zip which contains EMF resources. |
protected void |
checkConfigurationInternal(org.eclipse.emf.mwe.core.issues.Issues issues)
|
ContainersStateFactory |
getContainersStateFactory()
|
java.util.List<java.lang.String> |
getPathes()
|
protected PathTraverser |
getPathTraverser()
|
UriFilter |
getUriFilter()
|
protected void |
installAsAdapter(org.eclipse.emf.ecore.resource.ResourceSet set,
IAllContainersState containersState)
|
protected void |
invokeInternal(org.eclipse.emf.mwe.core.WorkflowContext ctx,
org.eclipse.emf.mwe.core.monitor.ProgressMonitor monitor,
org.eclipse.emf.mwe.core.issues.Issues issues)
|
protected void |
populateResourceSet(org.eclipse.emf.ecore.resource.ResourceSet set,
com.google.common.collect.Multimap<java.lang.String,org.eclipse.emf.common.util.URI> uris)
|
void |
setContainersStateFactory(ContainersStateFactory containersStateFactory)
|
void |
setUriFilter(UriFilter filter)
Optionally set a filter that specifies which URIs are valid to be read. |
void |
setUseJavaClassPath(boolean isUse)
Automatically adds all class path entries of the current process (more specifically uses 'java.class.path' system property). |
Methods inherited from class org.eclipse.xtext.mwe.AbstractReader |
---|
addLoad, addLoadFromResourceSet, addLoadResource, addModelElementsToContext, addRegister, getInjectors, getRegistry, getResourceDescriptionsProvider, getResourceSet, getResourceSetProvider, getSlotEntries, getValidator, setResourceDescriptionsProvider, setResourceSetProvider, setValidate |
Methods inherited from class org.eclipse.emf.mwe.core.lib.AbstractWorkflowComponent2 |
---|
checkConfiguration |
Methods inherited from class org.eclipse.emf.mwe.core.lib.AbstractWorkflowComponent |
---|
checkRequiredConfigProperty, getBridge, getComponentName, getContainer, getId, getLocation, getLogMessage, invoke, invoke, postInvoke, preInvoke, setContainer, setId, setLocation, setSkipOnErrors |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected static final org.apache.log4j.Logger log
protected java.util.List<java.lang.String> pathes
Constructor Detail |
---|
public Reader()
Method Detail |
---|
public void addPath(java.lang.String path)
A path pointing to a folder, jar or zip which contains EMF resources.
Example use:
<path value="./foo/bar.jar"/>
public java.util.List<java.lang.String> getPathes()
public void setUseJavaClassPath(boolean isUse)
Automatically adds all class path entries of the current process (more specifically uses 'java.class.path' system property).
Example use:
<useJavaClassPath value="true"/>
public void setUriFilter(UriFilter filter)
public UriFilter getUriFilter()
public void setContainersStateFactory(ContainersStateFactory containersStateFactory)
public ContainersStateFactory getContainersStateFactory()
protected void checkConfigurationInternal(org.eclipse.emf.mwe.core.issues.Issues issues)
checkConfigurationInternal
in class AbstractReader
protected void invokeInternal(org.eclipse.emf.mwe.core.WorkflowContext ctx, org.eclipse.emf.mwe.core.monitor.ProgressMonitor monitor, org.eclipse.emf.mwe.core.issues.Issues issues)
invokeInternal
in class org.eclipse.emf.mwe.core.lib.AbstractWorkflowComponent
protected PathTraverser getPathTraverser()
protected void populateResourceSet(org.eclipse.emf.ecore.resource.ResourceSet set, com.google.common.collect.Multimap<java.lang.String,org.eclipse.emf.common.util.URI> uris)
protected void installAsAdapter(org.eclipse.emf.ecore.resource.ResourceSet set, IAllContainersState containersState) throws org.eclipse.emf.mwe.core.WorkflowInterruptedException
org.eclipse.emf.mwe.core.WorkflowInterruptedException
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |