Nome do método

5 respostas
leoviniga

Oi pessoal…tem como pegar uma string com o nome do método que está em execução no momento? Como?

Agradeço desde já…

5 Respostas

Andre_Fonseca

oi,

package org.kodejava.example;

public class GetCurrentMethodName {
    public static void main(String[] args) {
        //
        // Get the current executing method name
        //
        String methodName =
                Thread.currentThread().getStackTrace()[1].getMethodName();
        System.out.println("methodName = " + methodName);

        GetCurrentMethodName obj = new GetCurrentMethodName();
        obj.executeAMethod();
    }

    private void executeAMethod() {
        //
        // Get the current executing method name
        //
        String methodName =
                Thread.currentThread().getStackTrace()[1].getMethodName();
        System.out.println("methodName = " + methodName);
    }
}

mas nem sempre isso funciona

http://stackoverflow.com/questions/442747/getting-the-name-of-the-current-executing-method-java

God_of_Java

sim.

God_of_Java

ops duplicate, sorry.

Paulo_Silveira

Fiquei curioso, por que esta precisando disso?

Normalmente, quando ha essa necessidade, usamos de filtros e eles interceptam o metodo que vai ser chamado. Ai voce faz essa checagem antes, e nao durante, a execucao do metodo.

Lancar uma exception para saber em que metodo está é bastante custoso tambem, alem de deselegante.

leoviniga

Então Paulo…eu tenho serviços em axis que tem seus nomes iguais aos dos meus métodos em java…e eu queria chamá-los de maneira dinâmica…sem precisar criar uma String que identifique cada método quando for chamar um serviço …não sei se ficou claro…

Mas deixa pra lá…percebi que o código vai ficar mais simples se eu simplesmente criar as Strings (o problema vai ser se tiver que mudar um por um depois :D) …foi só uma curiosidade mesmo…

Criado 2 de março de 2011
Ultima resposta 3 de mar. de 2011
Respostas 5
Participantes 4