Senhore(a)s,

H� como saber qual foi a classe que instanciou um determinado objeto por dento desse mesmo objeto ?

Seria algo din�mico.

Ex.:

a.java:
=====

import java.io.*;
import java.util.*;

public class a {

public static void main (String args[]) {

String a = "oi mundo!";

b criaB = new b();

b.main(a);

criaB = null;

}

}

-------------xxx-------------

b.java:
=====

import java.io.*;
import java.util.*;
import java.lang.*;

public class b {

public static void main (String valorDeA ) {

b mc = new b();

Class c = mc.getClass();

ClassLoader cl = c.getClassLoader();

System.out.println("O valor passado por a � = " + valorDeA );
System.out.println("O nome da classe � = " + c.getName() );
// System.out.println("O nome da classe que chamou � = " + c.getClassLoader().findClass("a") );
// System.out.println("O nome da classe que chamou � = " + cl.getClass().getName() );


// Aqui de alguma forma o objeto deveria "saber" quem est� criando uma inst�ncia dele.

}

}

-------------xxx-------------

O Objeto "b" deveria saber que em o instanciou foi "a", por�m em outras ocasi�es o objeto "b" poder� ser instanciado por outras classes quaisquer e "b" dever� saber em rumtime quem � que o est� instanciando.

Usando o getClassLoader() (java.lang.ClassLoader) h� com saber que classes foram instanciadas por um objeto, dado o nome desse objeto, mas n�o o contrario.

Pelo que andamos pesquisando, lendo a documenta��o e implementando testes, n�o foi poss�vel.

Algu�m j� passou por necessidade semelhante ?

Sem mais,

Anaximandro B. de Melo.


------------------------------------------------------------------------------------------- Ceara' Java User Group

Para cancelar sua assinatura, envie um e-mail para: [EMAIL PROTECTED]
Para mais informacoes, mande um e-mail para: [EMAIL PROTECTED]
Falar com o administrador? e-mail para: [EMAIL PROTECTED]





Responder a