com.virtuosotechnologies.lib.plugin
Interface APIProvider


public interface APIProvider

An API provider. PluginLinkers return implementations of this interface when queried for an API. This object encapsulates information about the API implementation, including the implementation object itself, the API name and version, and the name of the plugin providing the API. Note that the implementation object may not be the object provided by the implementing plugin, but may instead be a proxy object.

All implementations must be thread-safe.


Method Summary
 Object getImplementation()
          Get the implementation object
 Class getProvidedAPIClass()
          Get the API class
 String getProvidedAPIDescription()
          Get the API description
 APIVersion getProvidedAPIVersion()
          Get the version of the implementation being provided
 PluginID getProvidingPluginID()
          Get the ID of the plugin providing the implementation
 boolean isDefunct()
          Is this API defunct?
 

Method Detail

getImplementation

public Object getImplementation()
Get the implementation object

Returns:
the object implementing this API.

getProvidedAPIClass

public Class getProvidedAPIClass()
Get the API class

Returns:
the class of the provided API

getProvidedAPIVersion

public APIVersion getProvidedAPIVersion()
Get the version of the implementation being provided

Returns:
the provided APIVersion

getProvidedAPIDescription

public String getProvidedAPIDescription()
Get the API description

Returns:
a description String

getProvidingPluginID

public PluginID getProvidingPluginID()
Get the ID of the plugin providing the implementation

Returns:
the ID of the providing plugin, or null for no plugin

isDefunct

public boolean isDefunct()
Is this API defunct?

Returns:
true if the API is defunct (i.e. the plugin providing it has been unplugged)