org.eclipse.emf.compare.match.service
Class MatchEngineRegistry

java.lang.Object
  extended by java.util.AbstractMap<K,V>
      extended by java.util.HashMap<java.lang.String,java.util.List<java.lang.Object>>
          extended by org.eclipse.emf.compare.match.service.MatchEngineRegistry
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, java.util.Map<java.lang.String,java.util.List<java.lang.Object>>

public final class MatchEngineRegistry
extends java.util.HashMap<java.lang.String,java.util.List<java.lang.Object>>

This registry will be initialized with all the match engines that could be parsed from the extension points if Eclipse is running according to EMFPlugin.IS_ECLIPSE_RUNNING, else it will contain only the two generic ones. Clients can add their own match engines in the registry for standalone usage.

See Also:
Serialized Form

Field Summary
static MatchEngineRegistry INSTANCE
          Singleton instance of the registry.
 
Method Summary
 java.util.List<MatchEngineDescriptor> getDescriptors(java.lang.String fileExtension)
          This will return the list of engines available for a given fileExtension.
 IMatchEngine getHighestEngine(java.lang.String fileExtension)
          Returns the highest priority IMatchEngine registered against the given file extension.
 void putValue(java.lang.String key, java.lang.Object value)
          Adds the given value in the list of engines known for the given extension.
 
Methods inherited from class java.util.HashMap
clear, clone, containsKey, containsValue, entrySet, get, isEmpty, keySet, put, putAll, remove, size, values
 
Methods inherited from class java.util.AbstractMap
equals, hashCode, toString
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.util.Map
equals, hashCode
 

Field Detail

INSTANCE

public static final MatchEngineRegistry INSTANCE
Singleton instance of the registry.

Method Detail

getDescriptors

public java.util.List<MatchEngineDescriptor> getDescriptors(java.lang.String fileExtension)
This will return the list of engines available for a given fileExtension. Engines must have been registered through an extension point for this to return anything else than an empty list. Note that engines registered against will always be returned at the end of this list.

Parameters:
fileExtension - Extension of the file we seek the matching engines for.
Returns:
The list of available engines.

getHighestEngine

public IMatchEngine getHighestEngine(java.lang.String fileExtension)
Returns the highest priority IMatchEngine registered against the given file extension. Specific engines will always come before generic ones regardless of their priority. If engines have been manually added to the list, the latest added will be returned.

Parameters:
fileExtension - The extension of the file we need a IMatchEngine for.
Returns:
The best IMatchEngine for the given file extension.

putValue

public void putValue(java.lang.String key,
                     java.lang.Object value)
Adds the given value in the list of engines known for the given extension.

Parameters:
key - The file extension we wish to add an engine for.
value - Engine to be added.

Copyright 2006 IBM Corporation and others.
All Rights Reserved.