Averiguar qué clase que instanció a otra en tiempo de ejecución

poyoloco
14 de Marzo del 2006
Buenas tardes:

He estado buscando información, pero no encuentro una forma concreta para poder referirme a la clase que ha instanciado a otra, desde esta última.

Por ejemplo, si tengo ClaseLlamante1 y ClaseLlamante2 y crean cada una una instancia de ClaseLlamada, me gustaría poder crear diferentes comportamientos dentro de ClaseLlamada en función de quién la ha instanciado. Así, si ha sido ClaseLlamante1, podría mostrar la información en color rojo, y si es ClaseLlamante2, en azul. Esto por proponer un ejemplo sencillo, ya que mi propósito es algo más complejo, pero necesito averiguar primero esto.

Si no me equivoco, este tipo de operación sólo sería posible llevarlo a cabo en tiempo de ejecución, ¿Verdad? Quizá ande lejos, pero he procurado revisar la clase ClassLoader y otras relacionadas en busca de información y no he dado con nada. Entiendo que es necesario enredar con alguna operación de la JVM... ¿Alguien que me eche una mano?

Muchas gracias.

neossoftware
14 de Marzo del 2006
Por como veo tu problematica, justamente tu necesitas un patrón de diseño de GoF, busca información acerca del patron "Fabrica Abstracta" vas a ver que encontraras una buena solución a tu problema