Criando um método "Radar" em Java

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

[ Hits: 7.123 ]

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

Instalando RPMs no SuSE

Limpeza automática de bibliotecas inúteis em seu Linux Debian / Ubuntu

Mercury Messenger, uma alternativa ao GAIM e aMSN

Knoppix para deficientes visuais

Evitando os dois carregamentos de JSF (JavaServer Faces)

Leitura recomendada

Identificando SO através da linguagem Java

Crash ao executar Eclipse no Fedora 19 x86_64 [Resolvido]

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

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

Resolvendo problemas do Eclipse no Ubuntu

  

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