org.eclipse.emf.ecore.resource
Interface Resource.Factory.Registry

All Known Implementing Classes:
ResourceFactoryRegistryImpl
Enclosing interface:
Resource.Factory

public static interface Resource.Factory.Registry

A registry of resource factories.

A registry implementation will typically delegate to the global instance, which can be used as follows

  Resource.Factory.Registry.INSTANCE.getProtocolToFactoryMap().
    put("abc", resourceFactoryForURIWithAbcProtocol);
  Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap().
    put("xyz", resourceFactoryForURIWithXyzFileExtension);
A descriptor can be used in place of an actual factory as a value in the map. It is used for factories registered via plugin registration to ensure delayed plugin load.

See Also:
ResourceSet.getResourceFactoryRegistry()

Field Summary
static String DEFAULT_EXTENSION
          The file extension "*" that matches any extension.
static Resource.Factory.Registry INSTANCE
          The global static resource factory registry.
 
Method Summary
 Map getExtensionToFactoryMap()
          Returns a map from file extension to Resource.Factory or Resource.Factory.Descriptor.
 Resource.Factory getFactory(URI uri)
          Returns the resource factory appropriate for the given URI.
 Map getProtocolToFactoryMap()
          Returns a map from protocol to Resource.Factory or Resource.Factory.Descriptor.
 

Field Detail

DEFAULT_EXTENSION

public static final String DEFAULT_EXTENSION
The file extension "*" that matches any extension.

See Also:
getExtensionToFactoryMap(), Constant Field Values

INSTANCE

public static final Resource.Factory.Registry INSTANCE
The global static resource factory registry. Registrations made in this instance will (typically) be available for use by any resource set.

See Also:
ResourceSet.createResource(URI), ResourceSet.getResourceFactoryRegistry()
Method Detail

getFactory

public Resource.Factory getFactory(URI uri)
Returns the resource factory appropriate for the given URI.

An implementation will (typically) use the URI's scheme to search the protocol map and the URI's file extension to search extension map. It will convert a resulting descriptor into a factory. It may choose to provide additional mechanisms and algorithms to determine a factory appropriate for the given URI.

Parameters:
uri - the URI.
Returns:
the resource factory appropriate for the given URI.
See Also:
ResourceSet.createResource(URI)

getProtocolToFactoryMap

public Map getProtocolToFactoryMap()
Returns a map from protocol to Resource.Factory or Resource.Factory.Descriptor.

Returns:
the protocol map.

getExtensionToFactoryMap

public Map getExtensionToFactoryMap()
Returns a map from file extension to Resource.Factory or Resource.Factory.Descriptor.

The default file extension "*" can be registered as a default that matches any file extension. This is typically reserved for a default factory that supports XMI serialization; clients are strongly discouraged from using this feature in the global registry, particularly those that must function effectively within an Eclipse environment.

Returns:
the file extension map.
See Also:
DEFAULT_EXTENSION

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