La página Extensiones se utiliza para examinar y editar extensiones de conectores. Las extensiones son el mecanismo central para proporcionar un determinado comportamiento a la plataforma. A menos que el conector sea una sencilla biblioteca de la API Java puesta a disposición de otros conectores, el comportamiento nuevo se proporciona en forma de extensión.
Los conectores contribuyen a los puntos de extensión definidos por esos conectores que necesitan. La sintaxis de una extensión debe coincidir con la definición del punto de extensión para que pueda procesarse correctamente. La lista total de puntos de extensión elegibles la calcula el PDE recorriendo todos los conectores visibles (tanto del área de trabajo como externos).
El asistente de extensión genérico proporcionado por el PDE simplemente explorará los puntos de extensión. Si se proporciona un esquema de extensión (consulte el apartado Esquema de punto de extensión), el asistente extraerá la gramática y los metadatos del punto de extensión del esquema.
Además del asistente genérico, están disponibles diversas plantillas de extensión. Son las mismas plantillas que pueden utilizarse para generar el contenido inicial del proyecto de conector. Su presencia en este punto permite organizar la creación de la extensión. Puede crear un conector con una vista simple y, a continuación, añadirle un editor o un asistente.
Para ilustrar el funcionamiento de la página Extensiones, añadiremos al conector la acción 'Hola, mundo del PDE'. Estaremos contribuyendo al punto de extensión org.eclipse.ui.actionSets. En este ejemplo se da por supuesto que se está familiarizado con los puntos de extensión.
Empezaremos por pulsar el botón Añadir... para seleccionar el asistente de extensión:
El asistente Extensión basada en esquema es el asistente por omisión, porque maneja las extensiones de manera genérica. Explorará los conectores y ofrecerá todos los puntos de extensión que encuentre, con o sin esquemas. Los que que tengan esquemas permitirán que el PDE ofrezca una ayuda mejor. Si falta un esquema de punto de extensión, el PDE permitirá añadir elementos y atributos a la extensión, pero no podrá verificar si son válidos para el punto de extensión elegido.
Si se pulsa Siguiente, aparecerá una lista de puntos de extensión. Seleccione org.eclipse.ui.actionSets y pulse Finalizar.
El asistente añadirá la extensión nueva a la lista de extensiones. Puesto que esta extensión tiene asociado un esquema, podemos editar con más detalle la definición de la extensión. Seleccionamos la extensión que acabamos de añadir y elegimos Nuevo->actionSet en el menú emergente. Este elemento XML se ha definido como el único elemento válido que puede mostrarse en la definición de la extensión.
Para todos los atributos obligatorios, el PDE creará valores por omisión. El nombre por omisión del conjunto de acciones puede cambiarse por "Conjunto de acciones de ejemplo" seleccionando el elemento y cambiando la propiedad etiqueta de la vista Propiedades. En la lista de extensiones aparecerá el nombre nuevo.
Ahora necesitamos definir un menú y una acción para el conjunto de acciones. Si seleccionamos el conjunto de acciones y hacemos aparecer el menú en la sección "Hijos de elemento de extensión", el menú "Nuevo" ofrecerá dos opciones: menú y acción. Estas opciones se basan en la información del esquema para la extensión de conjuntos de acciones. En primer lugar, crearemos el menú.
Podemos crear la acción de forma parecida:
El último elemento que hay que establecer es la clase Java de la acción. La definición de punto de extensión especifica que una acción debe implementar IWorkbenchWindowActionDelegate. El PDE puede ser de ayuda puesto que conoce esta información a partir del esquema.
Antes de que pulse Finalizar, el cuadro de diálogo debería parecerse a este:
Al finalizar, se generará la clase nueva basada en la interfaz necesaria (con una implementación de un apéndice por cada método abstracto). Además, el valor de la propiedad clase se establecerá al nombre de la clase nueva. Además, el asistente abrirá por omisión la clase Java nueva para editarla. Puede buscar el método "run" y añadir la sentencia siguiente:
System.out.println("¡Hola, mundo del PDE!");
Guarde el código fuente nuevo y cierre el editor Java. Luego, vuelva a la página Extensiones del editor de manifiestos y guárdelo.
Continuaremos con este ejemplo al ejecutar el conector.