Criando um método "Radar" em Java

Publicado por Diogo G. Zanetti em 04/02/2009

[ Hits: 7.251 ]

Blog: http://exadmax.googlepages.com

 


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.

Outras dicas deste autor

Problemas com Open Office que não starta?

Veja o tempo no seu desktop GNOME

Adicionando Kubuntu e Xubuntu no Ubuntu

Setando seu locale

Knoppix para deficientes visuais

Leitura recomendada

Raycasting Basics with JavaScript [Curso]

Java 7 da Oracle no Ubuntu - Instalação e atualização fácil e rápida

Struts e JSTL - Na tela aparece somente a váriavel e não o valor

Resolvendo problemas do Eclipse no Ubuntu

Configurando dependências para usar CDI/Weld e JBoss

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts