WebSphere Message Broker, Versión 8.0.0.5 Sistemas operativos: AIX, HP-Itanium, Linux, Solaris, Windows, z/OS

Consulte la información sobre la última versión del producto en IBM Integration Bus, Versión 9.0

Ejemplo de código del editor definido por el usuario que utiliza una clase Java

Utilice el código Java™ de ejemplo para crear un editor definido por un usuario para mostrar un recuadro de texto utilizando una clase Java.

En el código de ejemplo siguiente, se muestra cómo se utiliza una clase Java para mostrar un editor definido por el usuario con recuadro de texto para un usuario de patrón. La clase MyEditor amplía la clase BasePatternPropertyEditor y se especifica como la clase de editor definida por el usuario en la configuración de editor definida por el usuario, consulte Configurar un editor definido por el usuario. Se crea automáticamente una instancia de la clase MyEditor cuando el usuario del patrón abre el editor de instancias del patrón.
  1. Se llama automáticamente al método configureEditor() después de crear la clase de editor definido por el usuario. Este método pone en marcha el editor de esquema.
  2. Se llama al método createControls() para crear la interfaz de usuario del editor:
    1. El objeto de kit de herramientas SWT, Composite, se utiliza para la interfaz de usuario.
    2. Se crea un recuadro de texto y se define información de diseño SWT para el recuadro de texto.
    3. Se define un escucha en el recuadro de texto, que llama al método valueChanged() del objeto PatternPropertyEditorSite para el editor. Así se garantiza que cuando se cambie el valor seleccionado en el recuadro de texto, las notificaciones de cambios se envíen a todas las expresiones XPath o editores que utilizan el valor de este parámetro.
  3. El método setValue() establece el valor inicial para el recuadro de texto. En este ejemplo, el código filtra los valores en blanco. El código también filtra los valores que empiezan por <, para eliminar valores de marca límite. Se da por supuesto que los valores de marca límite se especifican entre corchetes.
  4. El método getValue() lee el valor actual del recuadro de texto y devuelve el valor al editor de instancias de patrón. El editor de instancias de patrón utiliza este valor devuelto como el valor del parámetro de patrón.
  5. El método setEnabled() habilita o inhabilita el control de recuadro de texto, según si el parámetro de patrón está habilitado o inhabilitado. El parámetro se puede habilitar o inhabilitar utilizando una expresión XPath; consulte Habilitación de los parámetros de patrón. Cuando el resultado de una expresión XPath habilita o inhabilita el parámetro, se pasa un valor booleano al editor de instancias de patrón al método setEnabled(). Si el parámetro está habilitado, el valor booleano es true; si el parámetro está inhabilitado el valor booleano s false.
package com.your.company.domain.MyPattern.code;

import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Listener;
import org.eclipse.swt.widgets.Text;

import com.ibm.broker.config.appdev.patterns.ui.*;

public class MyEditor extends BasePatternPropertyEditor {

   private Text text;


   @Override
   public void configureEditor(PatternPropertyEditorSite site, boolean required, String configurationValues) {
            super.configureEditor(site, required, configurationValues);
	}

   @Override
   public void createControls(Object parent) {
            Composite composite = (Composite) parent;


      text = new Text(composite, SWT.BORDER);


      GridData textLayoutData = new GridData(GridData.FILL_HORIZONTAL);
            textLayoutData.horizontalIndent = 0;
            text.setLayoutData(textLayoutData);


      text.addListener(SWT.Modify, new Listener() {
                  @Override
         public void handleEvent(Event event) {
                        PatternPropertyEditorSite site = getSite();
                        site.valueChanged();
                  }
      });
   }

   @Override
   public void setValue(String value) {

      if (value != null) {
                  if (value.startsWith("<") == false) {
                        text.setText(value);
                  }
      }
   }

   @Override
   public String getValue() {
      String value = text.getText();
            if (value.length() > 0) {
                  return value;
            }
      return null;
      }

   @Override
   public void setEnabled(boolean enabled) {
            text.setEnabled(enabled);
      }
}
Avisos | Marcas registradas | Descargas | Biblioteca | Soporte | Comentarios

Copyright IBM Corporation 1999, 2014Copyright IBM Corporation 1999, 2014.

        
        Última actualización:
        
        Última actualización: 2015-02-28 17:00:58


Tema de tareaTema de tarea | Versión 8.0.0.5 | bc31430_