org.eclipse.jet.runtime.model
Interface ILoaderManager


public interface ILoaderManager

Interface to the manager for model loaders.

This interface is not intended to be implemented by clients.


Method Summary
 void addLoader(java.lang.String id, java.lang.String name, ILoaderFactory factory, boolean dynamic)
          Add the named loader to the manager
 void addLoaderForType(java.lang.String id, java.lang.String fileType)
          Declare the the model loader represented by id can load files of type fileType.
 void clearDefaultLoader(java.lang.String fileType)
          Clear the default loader (if any) associated with the file type.
 IModelLoaderDescription[] findCompatibleModelLoaders(java.lang.String fileType)
          Return an array of model loaders that are capable of loading files of the specified type.
 IModelLoader getDefaultModelLoader(java.lang.String fileType)
          Return the default model loader for the given file type.
 java.lang.String getDefaultModelLoaderId(java.lang.String fileType)
          Return the id of the default model loader for the give file type.
 IModelLoader getLoader(java.lang.String url, java.lang.String loaderId, java.lang.String type)
          Find an appropriate loader.
 IModelLoader getModelLoader(java.lang.String id)
          Return a model loader
 void removeLoader(java.lang.String id)
          Remove a loader from the manager.
 void removeLoaderForType(java.lang.String id, java.lang.String fileType)
          Forget that the model loader id can load files of type fileType.
 void setDefaultLoader(java.lang.String fileType, java.lang.String id)
          Define a specific loader as the default model loader for a file type.
 

Method Detail

addLoader

public void addLoader(java.lang.String id,
                      java.lang.String name,
                      ILoaderFactory factory,
                      boolean dynamic)
Add the named loader to the manager

Parameters:
id - the loader's unique identifier string
name - a descriptive name of the loader
factory - a factory for creating an instance of the loader.
dynamic - whether the loader supports dynamic matching of file types by implementing IModelLoader.canLoad(String).

removeLoader

public void removeLoader(java.lang.String id)
Remove a loader from the manager. If the loader is managed by this manager then this method has no effect.

Parameters:
id - the unique identifier of the loader to remove.

setDefaultLoader

public void setDefaultLoader(java.lang.String fileType,
                             java.lang.String id)
                      throws java.lang.IllegalStateException
Define a specific loader as the default model loader for a file type.

Parameters:
fileType - the file type (extension) for which the loader is the default
id - the id of the default loader
Throws:
java.lang.IllegalStateException - if the file type already has a default loader assigned to it.

clearDefaultLoader

public void clearDefaultLoader(java.lang.String fileType)
Clear the default loader (if any) associated with the file type.

Parameters:
fileType - the file type(extension) for which the loader is the default.

getModelLoader

public IModelLoader getModelLoader(java.lang.String id)
Return a model loader

Parameters:
id - the unique identifier of the model loader
Returns:
the model loader, or null if not found.

getDefaultModelLoader

public IModelLoader getDefaultModelLoader(java.lang.String fileType)
Return the default model loader for the given file type.

Parameters:
fileType - the file type (extension)
Returns:
the default model loader, or null if there is no default model loader.

findCompatibleModelLoaders

public IModelLoaderDescription[] findCompatibleModelLoaders(java.lang.String fileType)
Return an array of model loaders that are capable of loading files of the specified type.

Parameters:
fileType - the file type (extension)
Returns:
an array of model loader descriptions. This array may be empty, but will not be null.

getDefaultModelLoaderId

public java.lang.String getDefaultModelLoaderId(java.lang.String fileType)
Return the id of the default model loader for the give file type.

Parameters:
fileType - the file type (extension)
Returns:
an model loader id, or null if no loader exists.

addLoaderForType

public void addLoaderForType(java.lang.String id,
                             java.lang.String fileType)
Declare the the model loader represented by id can load files of type fileType.

Parameters:
id - the model loader unique identifier.
fileType - the file type (extension).

removeLoaderForType

public void removeLoaderForType(java.lang.String id,
                                java.lang.String fileType)
Forget that the model loader id can load files of type fileType.

Parameters:
id - the model loader unique identifier.
fileType - the file type (extension).

getLoader

public IModelLoader getLoader(java.lang.String url,
                              java.lang.String loaderId,
                              java.lang.String type)
                       throws CoreJETException
Find an appropriate loader.

Parameters:
url -
loaderId -
type -
Returns:
a model loader instance.
Throws:
CoreJETException - if a loader cannot be found

Copyright 2006 IBM Corporation and others.
All Rights Reserved.