Pular para o conteúdo

Criando um método "Radar" em Java

Dica publicada em Java / Avançado
Diogo G. Zanetti diogozanetti
Hits: 7.921 Categoria: Java Subcategoria: Avançado
  • Indicar
  • Impressora
  • Denunciar

Criando um método "Radar" em Java

Método radar é um método que sabe onde está sendo utilizado e quando. Um simples exemplo:

public class ClasseUsurpadora{
   private Adivinha a;

   public void main(String[] args) {

      a.executeiAqui();

   }
}

Você pergunta como o método irá funcionar sem os parâmetros de entrada, pois poderíamos passar o nome da classe, mas é dispensável.

Na classe "Adivinha" faça isto:

public class Adivinha {
   public void executeiAqui(){
      StackTraceElement[] stackTraceElements = Thread.currentThread().getStackTrace();
      StackTraceElement last_stack_trace_element = stackTraceElements[stackTraceElements.length-1];
      System.out.println ("Executei " + last_stack_trace_element.getMethodName () + " em " + last_stack_trace_element.getClassName () + " na linha " + last_stack_trace_element.getLineNumber());
   }
}

Não é necessário import antes que você pergunte.

Utilidades disso? Inúmeras, vou citar uma simples: sabe quando temos "objetos" que acessam a base de dados "hora" em um contexto hora em outro? Esta classe "DAO" poderá ser instanciada neste objeto, com uma lista de objetos na classe "adivinha" e o identificador, temos como chavear.

Outra utilidade é um gerenciador de erros, pois posso descobrir em qual linha executou.

Consiga gratuitamente os CDs do Ubuntu Linux

Múltiplos portais em Xoops com o mesmo DB

Resolvendo o chato problema de lock do seu Eclipse

Adicionando Kubuntu e Xubuntu no Ubuntu

Instalando RPMs no SuSE

PJEOffice rodando corretamente no Ubuntu 19 - como fazer via terminal

Impressão Java em Linux

Crash ao executar Eclipse no Fedora 19 x86_64 [Resolvido]

LookAndFeels de Java

Resolvendo o problema "could not load wizard specified in /wizard.inf" no Ubuntu Hardy

Nenhum comentário foi encontrado.

Contribuir com comentário

Entre na sua conta para comentar.