org.eclipse.emf.ecore.plugin
Class EcorePlugin

java.lang.Object
  extended byorg.eclipse.emf.common.EMFPlugin
      extended byorg.eclipse.emf.ecore.plugin.EcorePlugin
All Implemented Interfaces:
Logger, ResourceLocator

public class EcorePlugin
extends EMFPlugin

A collection of platform-neutral static utilities as well as Eclipse support utilities.


Nested Class Summary
static class EcorePlugin.Implementation
          A plugin implementation that handles Ecore plugin registration.
 
Nested classes inherited from class org.eclipse.emf.common.EMFPlugin
EMFPlugin.EclipsePlugin, EMFPlugin.InternalEclipsePlugin, EMFPlugin.InternalHelper
 
Field Summary
static EcorePlugin INSTANCE
          The singleton instance of the plugin.
 
Fields inherited from class org.eclipse.emf.common.EMFPlugin
baseURL, delegateResourceLocators, images, IS_ECLIPSE_RUNNING, resourceBundle, shouldTranslate, strings, untranslatedResourceBundle, untranslatedStrings
 
Method Summary
static Map computePlatformPluginToPlatformResourceMap()
          Computes a map from platform:/plugin/<plugin-id>/ URI to platform:/resource/<plugin-location>/ URI for each plugin project in the workspace.
static Map computePlatformResourceToPlatformPluginMap(Collection uris)
          Computes a map from platform:/resource/<plugin-location>/ URI to platform:/plugin/<plugin-id>/ URI for each URI in the collection of the form platform:/plugin/<plugin-id>/...
static Map computePlatformURIMap()
          Computes a map so that plugins in the workspace will override those in the environment and so that plugins with Ecore and GenModels will look like projects in the workspace.
static EPackage.Registry getDefaultRegistryImplementation()
          Returns the default registry implementation singleton.
static Map getEPackageNsURIToGenModelLocationMap()
          Returns a map from package namespace URI (represented as a String) to the location of the GenModel containing a GenPackage for the package (represented as a URI).
static Map getPlatformResourceMap()
          Returns the platform resource map.
static EcorePlugin.Implementation getPlugin()
          Returns the Eclipse plugin singleton.
 ResourceLocator getPluginResourceLocator()
          Returns an Eclipse plugin implementation of a resource locator.
static IWorkspaceRoot getWorkspaceRoot()
          Returns the workspace root, or null, if the runtime environment is stand-alone.
static String[] handlePlatformResourceOptions(String[] arguments)
          Handles recognized platform resource arguments and returns the stripped result.
static URI resolvePlatformResourcePath(String platformResourcePath)
          Resolves a platform resource path of the form "/project/path" against the platform resource map.
 
Methods inherited from class org.eclipse.emf.common.EMFPlugin
delegatedGetImage, delegatedGetString, doGetImage, getBaseURL, getImage, getPluginLogger, getString, getString, getString, getString, getSymbolicName, log, main, setShouldTranslate, shouldTranslate
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

INSTANCE

public static final EcorePlugin INSTANCE
The singleton instance of the plugin.

Method Detail

getPluginResourceLocator

public ResourceLocator getPluginResourceLocator()
Description copied from class: EMFPlugin
Returns an Eclipse plugin implementation of a resource locator.

Specified by:
getPluginResourceLocator in class EMFPlugin
Returns:
an Eclipse plugin implementation of a resource locator.

getPlatformResourceMap

public static Map getPlatformResourceMap()
Returns the platform resource map.

This map is from String to URI. It is the logical equivalent of the map implied by an IWorkspaceRoot: I.e., each entry in the map corresponds to an IProject that has a name and a location location; the name is the key and the location, interpretted as a file URI, is the value. This map is used to resolve a platform resource path, and thereby supports relocatable projects in a manner that is transparently the same as an Eclipse workspace.

Returns:
the platform resource map.
See Also:
resolvePlatformResourcePath(java.lang.String)

resolvePlatformResourcePath

public static URI resolvePlatformResourcePath(String platformResourcePath)
Resolves a platform resource path of the form "/project/path" against the platform resource map.

The first segment of the path, i.e., the project name, is used to get a URI from the map. If a URI results, the remaining segments are resolved against it and that is the result. Otherwise, the result is null. For example, given this mapping

  EcoreUtil.getPlatformResourceMap().put
    ("project", URI.createURI("file:///C:/location/"));
the following transformation would result:
  /project/directory/file
    ->
  file:///C:/location/directory/file

Returns:
the resolved URI or null.

handlePlatformResourceOptions

public static String[] handlePlatformResourceOptions(String[] arguments)
Handles recognized platform resource arguments and returns the stripped result.

Recognized arguments are of this form:

  -platformResource ( <project-name> <file-or-URI> )+
E.g., This these arguments
  -platformResource project file:///C:/location/
will produce this effect:
  EcoreUtil.getPlatformResourceMap().put
    ("project", URI.createURI("file:///C:/location/"));
This mechanism supports relocatable projects outside of Eclipse.

Parameters:
arguments - an array of "command line" options.
Returns:
the arguments stripped of those recognized as platform resource options.

getEPackageNsURIToGenModelLocationMap

public static Map getEPackageNsURIToGenModelLocationMap()
Returns a map from package namespace URI (represented as a String) to the location of the GenModel containing a GenPackage for the package (represented as a URI).

Returns:
a map from package namespace to GenModel location.

computePlatformResourceToPlatformPluginMap

public static Map computePlatformResourceToPlatformPluginMap(Collection uris)
Computes a map from platform:/resource/<plugin-location>/ URI to platform:/plugin/<plugin-id>/ URI for each URI in the collection of the form platform:/plugin/<plugin-id>/.... This allows each plugin to be treated as if it were a project in the workspace. If the workspace already contains a project for the plugin location, no mapping is produced.

Parameters:
uris - a collections of URIs.
Returns:
a map from workspace URIs to plugin URIs.

computePlatformPluginToPlatformResourceMap

public static Map computePlatformPluginToPlatformResourceMap()
Computes a map from platform:/plugin/<plugin-id>/ URI to platform:/resource/<plugin-location>/ URI for each plugin project in the workspace. This allows each plugin from the runtime to be redirected to its active version in the workspace.

Returns:
a map from plugin URIs to resource URIs.
See Also:
URIConverter.getURIMap(), URI

computePlatformURIMap

public static Map computePlatformURIMap()
Computes a map so that plugins in the workspace will override those in the environment and so that plugins with Ecore and GenModels will look like projects in the workspace. It's implemented like this:
  Map result = new HashMap();
  result.putAll(computePlatformPluginToPlatformResourceMap());
  result.putAll(computePlatformResourceToPlatformPluginMap(new HashSet(EcorePlugin.getEPackageNsURIToGenModelLocationMap().values())));
  return result;

Returns:
computes a map so that plugins in the workspace will override those in the environment and so that plugins with Ecore and GenModels will look like projects in the workspace.
See Also:
URIConverter.getURIMap(), URI, computePlatformPluginToPlatformResourceMap(), computePlatformResourceToPlatformPluginMap(Collection)

getDefaultRegistryImplementation

public static EPackage.Registry getDefaultRegistryImplementation()
Returns the default registry implementation singleton.

Returns:
the default registry implementation singleton.

getPlugin

public static EcorePlugin.Implementation getPlugin()
Returns the Eclipse plugin singleton.

Returns:
the plugin singleton.

getWorkspaceRoot

public static IWorkspaceRoot getWorkspaceRoot()
Returns the workspace root, or null, if the runtime environment is stand-alone.

Returns:
the workspace root, or null.

Copyright 2001-2006 IBM Corporation and others.
All Rights Reserved.