public abstract class EMFModelReader extends Object implements ModelReader
This class acts as a bridge between EMF Resource
and MDWorkbench ModelReader
. Subclasses are required to implement the
createResource
method. This class will delegate the loading to the created resource. Then it will attach to the model every created
EMF model element.
A default implementation is available to handle XMI uris.
Clients may subclass this class.
Modifier and Type | Field and Description |
---|---|
static String |
MDW_CONNECTOR_CONTEXT
Option that gives access to the connector context.
|
static String |
OPTION_DISABLE_AUTO_RESOLVE_PROXIES |
Constructor and Description |
---|
EMFModelReader() |
Modifier and Type | Method and Description |
---|---|
protected Map<String,Object> |
createOptions(ConnectorContext context)
Create options to pass to the created resource.
|
protected abstract Resource |
createResource(URI uri,
ConnectorContext context)
Creates a resource that is able to handle the specified uri.
|
protected ResourceSet |
createResourceSet(Model model,
ConnectorContext context)
Creates a resource set based on this connector context
|
protected void |
logError(ConnectorContext context,
Resource.Diagnostic error)
Logs the specified diagnostic to the registered logger.
|
void |
read(String filepath,
Model model,
ConnectorContext context)
Reads the specified uri.
|
public static final String MDW_CONNECTOR_CONTEXT
load
method can retrieve the connector context this way :ConnectorContext context = (ConnectorContext) options.get(EMFModelReader.MDW_CONNECTOR_CONTEXT);
public static final String OPTION_DISABLE_AUTO_RESOLVE_PROXIES
public void read(String filepath, Model model, ConnectorContext context) throws CoreException
Resource
.load
method.The context can be used to access a variery of properties and is to be used to check for cancellation.
read
in interface ModelReader
filepath
- the location of a resource to read.model
- the model in which model elements must be created.context
- the context in which this reader runs.CoreException
- if anything prevents the connector to read the model.ConnectorDescriptor.getKind()
protected ResourceSet createResourceSet(Model model, ConnectorContext context)
model
- the model in which model elements must be created.context
- the connector context to use.protected abstract Resource createResource(URI uri, ConnectorContext context)
uri
- the URI to load.context
- the context in which the connector runsprotected Map<String,Object> createOptions(ConnectorContext context)
MDW_CONNECTOR_CONTEXT
to give access to the context.context
- the context in which the connector runsprotected void logError(ConnectorContext context, Resource.Diagnostic error)
context
- the context in which this reader runs.error
- the error to be logged.