public abstract class AddinManager extends java.lang.Object implements Addin
AddinManager
class is responsible for loading
addins to the IDE. The most common use of the AddinManager
for Addin developers is to obtain an instance of an Addin.
Example:
AddinManager am = AddinManager.getAddinManager(); Addin myAddin = am.getAddin("oracle.jdeveloper.cm.dt.ConnectionAddin"); try { ConnectionAddin ca = (ConnectionAddin) myAddin; ca.someMethodOnMyAddin(); } catch (ClassCastException ex) { handleError(ex); }
Addin
Constructor and Description |
---|
AddinManager() |
Modifier and Type | Method and Description |
---|---|
abstract <T extends Addin> |
getAddin(java.lang.Class<T> clazz)
Returns the
Addin instance for the given class name. |
abstract Addin |
getAddin(java.lang.String className)
Returns the first addin whose class is assignable from the given class name.
|
static AddinManager |
getAddinManager()
Returns the AddinManager.
|
abstract java.lang.String |
getCommand(int commandID,
java.lang.String defaultCommand)
Deprecated.
since 11.1.1 with no replacement. This API provides access to
commands registered through addins.properties, a mechanism that has been
obsolete since 9.0.5.
|
abstract java.lang.String |
getCommand(java.lang.String commandName,
java.lang.String defaultCommand)
Deprecated.
since 11.1.1 with no replacement. This API provides access to
commands registered through addins.properties, a mechanism that has been
obsolete since 9.0.5.
|
abstract Extension |
getExtensionForAddin(Addin addin)
Returns the Extension containing the specified Addin.
|
java.lang.String |
getExtensionIDForAddin(java.lang.Class addinClass)
Returns the id of the extension which registered the specified addin
class.
|
java.net.URL |
getExtensionUserHomeURL(java.lang.String extensionID)
Deprecated.
use ExtensionRegistry.getSystemDirectory( String ).
|
abstract java.util.Properties |
getProductProperties()
Deprecated.
addins.properties no longer exists, so this method always
returns an empty Properties object. A custom hook handler should be
used in the extension manifest to extend the product.
|
abstract void |
initAddinLoadset(java.lang.String loadsetName)
Initializes addins in a load set.
|
protected abstract void |
initProductAndUserAddins()
Creates and initializes the addins recorded in the file
addins.xml and addins-user.xml . |
abstract boolean |
isRegisteredAddin(java.lang.String addinClass)
Determine whether the specified addin class is registered.
|
abstract boolean |
registerAddin(java.lang.String clazz)
Deprecated.
addins should not be registered programmatically. They should
be declared in an extension manifest.
|
static void |
setAddinManager(AddinManager addinManager)
Publishes the specified AddinManager as the active instance in the IDE.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
initialize
public static AddinManager getAddinManager()
public static void setAddinManager(AddinManager addinManager)
Extension developers should not call this method.
addinManager
- the addin manager implementation.public abstract <T extends Addin> T getAddin(java.lang.Class<T> clazz)
Addin
instance for the given class name. The
class must be an addin implementation class.If an exact match on clazz is not found then it will try subclasses if and only if clazz is an interface.
clazz
- The class name of the Addin to return.
Addin
if it exists,
otherwise null
java.lang.NullPointerException
- if clazz is nullpublic abstract boolean registerAddin(java.lang.String clazz)
Addin
with the AddinManager
.
The addin class clazz
will be loaded, and then the
Addin
method initialize
will be invoked on the
newly created addin. An Addin
or other class can use this
method to register addins after the IDE has already started up. The
AddinManager
will be responsible for the
shutdown
notification to the newly registered
Addin
when the IDE is exiting.
clazz
- The class name of the Addin
to register
Addin
public abstract Addin getAddin(java.lang.String className)
Addin
whose class matches exactly the provided classname,
wil return null if a match is not found.java.lang.NullPointerException
- if classname is nullpublic final java.net.URL getExtensionUserHomeURL(java.lang.String extensionID)
extensionID
- the id of an installed extension.protected abstract void initProductAndUserAddins()
addins.xml
and addins-user.xml
.
Extension developers should not call this method. It is part of the
internal implementation of the IDE.public abstract void initAddinLoadset(java.lang.String loadsetName)
loadsetName
- the name of the loadset used in the extension manifest.
Must not be null.public abstract java.util.Properties getProductProperties()
null
empty if file has not been
loaded and parsed.public abstract java.lang.String getCommand(java.lang.String commandName, java.lang.String defaultCommand)
public abstract java.lang.String getCommand(int commandID, java.lang.String defaultCommand)
public abstract Extension getExtensionForAddin(Addin addin)
addin
- public final java.lang.String getExtensionIDForAddin(java.lang.Class addinClass)
addinClass
- an addin class.public abstract boolean isRegisteredAddin(java.lang.String addinClass)
addinClass
- the fully qualified class name of an addin. Must not
be null.