WebSphere Message Broker, Versão 8.0.0.5 Sistemas operacionais: AIX, HP-Itanium, Linux, Solaris, Windows, z/OS

Consulte as informações sobre a versão mais recente do produto em IBM Integration Bus, Versão 9.0

Exemplo de Código do Editor Definido pelo Usuário que Utiliza uma Classe Java

Use o código Java™ de exemplo para criar um editor definido pelo usuário para exibir uma caixa de texto, usando uma classe Java.

O código de exemplo a seguir mostra como usar uma classe Java para exibir um editor definido pelo usuário da caixa de texto para um usuário padrão. A classe MyEditor estende a classe BasePatternPropertyEditor e é especificada como a classe do editor definido pelo usuário na configuração do editor definido pelo usuário; consulte Configurando um Editor Definido pelo Usuário. Uma instância da classe MyEditor é criada automaticamente quando o usuário padrão abre o editor de instância padrão.
  1. O método configureEditor() é chamado automaticamente depois que a classe do editor definido pelo usuário é criada. Esse método configura o editor.
  2. O método createControls() é chamado para criar a interface com o usuário para o editor:
    1. O objeto do kit de ferramentas SWT, Composite, é usado para a interface com o usuário.
    2. Um controle de caixa de texto é criado e as informações de layout SWT da caixa de texto são definidos.
    3. Um listener na caixa de texto é definido, o qual chama o método valueChanged() do objeto PatternPropertyEditorSite para o editor. Isso garante que quando o valor selecionado na caixa de texto for alterado, notificações de mudanças serão enviadas para qualquer editor ou expressão XPath que use o valor desse parâmetro.
  3. O método setValue() configura o valor inicial para a caixa de texto. Neste exemplo, o código filtra valores em branco. O código também filtra valores que iniciam com <, para remover valores de marca d'água. Isso assume que os valores de marca d'água estão entre sinais de maior e menor.
  4. O método getValue() lê o valor atual da caixa de texto e retorna o valor para o editor de instância padrão. A instância padrão usa esse valor retornado como o valor do parâmetro padrão.
  5. O método setEnabled() ativa ou desativa o controle de caixa de texto, dependendo se o parâmetro padrão está ativado ou desativado. O parâmetro pode ser ativado ou desativado usando uma expressão XPath; consulte Ativando Parâmetros Padrão. Quando o resultado de uma expressão XPath ativa ou desativa o parâmetro, um valor booleano é transmitido do editor de instância padrão para o método setEnabled(). Se o parâmetro estiver ativado, o valor booleano será true; se o parâmetro estiver desativado, o valor booleano será 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 | Downloads | Biblioteca | Suporte | Feedback

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

        
        Última atualização:
        
        Última atualização: 2015-02-28 18:30:59


Tópico de TarefaTópico de Tarefa | Versão 8.0.0.5 | bc31430_