Hola, ¿hay alguna forma de conocer el nombre de clase de la persona que llama, específicamente para una aplicación Java-GWT?Cómo saber la clase de llamante de una función
Respuesta
Thread.currentThread
no está soportada en GWT (recordemos que el código Java se compila a JavaScript), por lo que este es un posible duplicado de:
How do you find out the caller function in JavaScript?
En GWT que le escribe simplemente un envoltorio JSNI:
public static native void whosMyCaller() /*-{
$wnd.alert(arguments.callee.caller.toString());
}-*/;
No es realmente posible en GWT, ya que en el modo de producción el código está muy optimizado con el revestimiento interior y la eliminación de código inalcanzable. P.ej. en modo compilado, la mayoría de las funciones no pertenecen a ninguna clase, ya que GWT consideró que la definición de clase era redundante. Teóricamente, es posible encontrar la clase de llamante (si intenta analizar el informe de compilación o si está a través de JSNI), pero debido a la optimización de alineación obtendrá muchos resultados extraños (por ejemplo, incluso si su función se llama solo en algunos clase específica, en modo compilado, puede encontrar que se llama directamente desde el punto de entrada método onLoad)
¿En bytecode es posible? – xybrek
¿Quieres decirnormal java? es posible a través de Thread.currentThread(). getStackTrace() como dijeron otras personas. En DevMode esto también podría ser posible, pero no estoy seguro de si la clase Thread está permitida en DevMode. Puede intentar crear un Exceptino y analizar su stacktrace. – jusio
- 1. ¿Es posible declarar una matriz asociativa en la función llamante?
- 2. Cómo saber si una clase desciende de otra clase
- 3. Función de miembro llamante de otro controlador en zend framework?
- 4. Llamante de función en el kernel de Linux
- 5. Obtener el nombre de la función del llamante dentro de otra función en Python?
- 6. ¿Cómo saber dónde se define una función?
- 7. cómo saber si una variable de JavaScript es una función
- 8. Prototipo: cómo saber la versión prototype.js utilizando una función js?
- 9. ¿Cómo obtener el elemento llamante usando Javascript?
- 10. ¿Cómo saber si una clase de Java es abstracta?
- 11. ¿Cómo saber si la clase tiene el atributo DataContract?
- 12. función pthread de una clase
- 13. PHP: Cómo llamar a la función de una clase secundaria de la clase principal
- 14. ¿Cómo encuentro en Xcode todas las funciones de llamante de una función específica como Jerarquía de llamadas de eclipse?
- 15. ¿Cómo puede la clase derivada heredar una función estática de la clase base?
- 16. Cómo saber fácilmente si Ninject puede resolver una clase
- 17. std :: for_each, función de miembro llamante con el parámetro de referencia
- 18. cómo puedo saber cómo terminó una tarea al usar la clase Future de Java
- 19. ¿Cómo saber si un tipo es una clase estática?
- 20. Anular una función sin extender la clase
- 21. ¿Cómo saber en qué biblioteca se define una función específica?
- 22. ¿Cómo puedo saber si un elemento contiene una clase específica?
- 23. Cómo saber qué función llama a otra
- 24. AS3 - ¿Puedo saber si una clase implementa una interfaz (o es una subclase de otra clase)?
- 25. Llamar a una función en la clase Form de otra clase, C# .NET
- 26. ¿Cómo puedo definir una función de plantilla dentro de una clase de plantilla fuera de la definición de clase?
- 27. Javascript: ¿cómo se llama a una función dentro de una clase dentro de esa clase?
- 28. clase base de la función anulada método de clase base
- 29. cómo usar la constante de la clase como una definición de argumento en la función php?
- 30. ¿Es posible reemplazar una función dentro de una clase PHP?
posible duplicado de [Java: Find Caller Class] (http://stackoverflow.com/questions/2887607/java-find- caller-class) –
GWT no emula la reflexión y las API relacionadas. Necesitas encontrar otra forma de lograr lo que quieres. – Strelok