com.iver.andami
Class PluginServices

java.lang.Object
  extended bycom.iver.andami.PluginServices

public class PluginServices
extends java.lang.Object

Clase que proporciona servicios a los plugins.

Author:
Fernando González Cortés

Constructor Summary
PluginServices(PluginClassLoader loader)
          Crea un nuevo PluginServices
 
Method Summary
 void addPopupMenuListener(java.lang.String name, java.awt.Component c, java.awt.event.ActionListener listener)
          Añade un listener a un popup menu registrado en el config.xml de algún plugin
static java.lang.Thread backgroundExecution(java.lang.Runnable r)
          Ejecuta una tarea en segundo plano, dejando a la interfaz responder pero inhibiendo los eventos
 PluginClassLoader getClassLoader()
          Obtiene el classloader del plugin
static Extension getExtension(java.lang.Class extensionClass)
          Obtiene una referencia a la instancia de la extensión cuya clase se pasa como parámetro
static java.util.Iterator getExtensions()
          Obtiene un iterador sobre las extensiones
static MainFrame getMainFrame()
          Obtiene una referencia al marco principal de la aplicación
static MDIManager getMDIManager()
          Obtiene una referencia al gestor de ventanas
 com.iver.utiles.XMLEntity getPersistentXML()
          Obtiene un objeto que representa la persistencia del plugin en formato xml.
 java.io.File getPluginDirectory()
          Obtiene una referencia al directorio del plugin
static PluginServices getPluginServices(java.lang.Object pluginClassInstance)
          Obtienen una referencia al PluginServices del plugin cuyo nombre se pasa como parámetro
static PluginServices getPluginServices(java.lang.String pluginName)
          Obtienen una referencia al PluginServices del plugin cuyo nombre se pasa como parámetro
static java.lang.String getText(java.lang.Object pluginObject, java.lang.String key)
          Obtiene una traducción de un plugin
 java.lang.String getText(java.lang.String key)
          Devuelve el mensaje en el idioma del locale actual del texto correspondiente a la clave que se pasa como parámetro
 void setPersistentXML(com.iver.utiles.XMLEntity entity)
          Establece los datos del plugin que deberán persistir entre ejecuciones en formato xml
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PluginServices

public PluginServices(PluginClassLoader loader)
Crea un nuevo PluginServices

Parameters:
loader - ClassLoader del plugin
Method Detail

getText

public java.lang.String getText(java.lang.String key)
Devuelve el mensaje en el idioma del locale actual del texto correspondiente a la clave que se pasa como parámetro

Parameters:
key - Clave del texto que se quiere obtener
Returns:
Texto en el idioma que toca o la propia clave si no se encuentra en el fichero

getClassLoader

public PluginClassLoader getClassLoader()
Obtiene el classloader del plugin

Returns:
Returns the loader.

getPluginServices

public static PluginServices getPluginServices(java.lang.Object pluginClassInstance)
Obtienen una referencia al PluginServices del plugin cuyo nombre se pasa como parámetro

Parameters:
pluginClassInstance - Instancia de una clase propia del plugin a cuyos servicios se quiere acceder
Returns:
Objeto PluginServices asociado al plugin
Throws:
java.lang.RuntimeException - Si el parámetro no es un objeto cargado desde un plugin

getPluginServices

public static PluginServices getPluginServices(java.lang.String pluginName)
Obtienen una referencia al PluginServices del plugin cuyo nombre se pasa como parámetro

Parameters:
pluginName - Instancia de una clase propia del plugin a cuyos servicios se quiere acceder
Returns:
Objeto PluginServices asociado al plugin

getMDIManager

public static MDIManager getMDIManager()
Obtiene una referencia al gestor de ventanas

Returns:
MDIManager

getMainFrame

public static MainFrame getMainFrame()
Obtiene una referencia al marco principal de la aplicación

Returns:
MainFrame

getExtension

public static Extension getExtension(java.lang.Class extensionClass)
Obtiene una referencia a la instancia de la extensión cuya clase se pasa como parámetro

Parameters:
extensionClass - Clase de la extensión cuya instancia se quiere obtener
Returns:
Instancia de la extensión o null en caso de que no haya una extensión con esa clase

getExtensions

public static java.util.Iterator getExtensions()
Obtiene un iterador sobre las extensiones

Returns:
Iterator

getText

public static java.lang.String getText(java.lang.Object pluginObject,
                                       java.lang.String key)
Obtiene una traducción de un plugin

Parameters:
pluginObject - Objeto cargado desde un plugin
key - Nombre de la clave cuyo valor se quiere obtener
Returns:
El valor, si existe. La clave si no existe. Si el objeto que se pasa como parámetro no ha sido cargado desde un plugin se devuelve la clave.

setPersistentXML

public void setPersistentXML(com.iver.utiles.XMLEntity entity)
Establece los datos del plugin que deberán persistir entre ejecuciones en formato xml

Parameters:
entity - DOCUMENT ME!

getPersistentXML

public com.iver.utiles.XMLEntity getPersistentXML()
Obtiene un objeto que representa la persistencia del plugin en formato xml.

Returns:
Devuelve null hasta que se invoca el método setPersistentXML

addPopupMenuListener

public void addPopupMenuListener(java.lang.String name,
                                 java.awt.Component c,
                                 java.awt.event.ActionListener listener)
Añade un listener a un popup menu registrado en el config.xml de algún plugin

Parameters:
name - Nombre del menú contextual
c - Componente que desplegará el menú cuando se haga click con el botón derecho
listener - Listener que se ejecutará cuando se seleccione cualquier entrada del menú
Throws:
java.lang.RuntimeException - Si la interfaz no está preparada todavía. Sólo puede darse durante el arranque

getPluginDirectory

public java.io.File getPluginDirectory()
Obtiene una referencia al directorio del plugin

Returns:
File

backgroundExecution

public static java.lang.Thread backgroundExecution(java.lang.Runnable r)
Ejecuta una tarea en segundo plano, dejando a la interfaz responder pero inhibiendo los eventos

Parameters:
r - Tarea a ejecutar
Returns:
Thread en el que se ejecuta la tarea