Duvida como passar o nome obejto e retornar seu pacote mais objeto

4 respostas
P

o que estou buscando no metodo xxx recebe o nome do objeto e retornar o pacote+objeto
tentei com o Manager (abaixo) pois os objetos estão assim nos pacotes :

br.com.mais.usuario
-Usuario.java

br.com.mais.cliente
-Cliente.java

br.com.mais.fornecedor

  • Fornecedor.java

por isso queria deixar variavel passar o para o metodo xxx(“Usuario”) e ter o retorno
br.com.mais.usuario.Usuario

mas não estou tendo exito tem algum jeito pra isso ???

abs

TestePersistenceXML x = new TestePersistenceXML();
		String pacoteObjeto = x.xxx("Usuario");
Criteria c = session.createCriteria(pacoteObjeto,"user");





public String xxx(String nameObjeto) throws Exception {
		URL myurl = Manager.class.getResource(nameObjeto);
		System.out.println("Teste ="+myurl.getPath());
		System.out.println(Teste.class.getResource("/usuario.xml"));  

		return myurl.getPath();
		
	}  

erro:

Exception in thread "main" java.lang.NullPointerException
	at br.com.exemplojpa.teste.TestePersistenceXML.xxx(TestePersistenceXML.java:67)
	at br.com.exemplojpa.teste.TestePersistenceXML.main(TestePersistenceXML.java:27)

4 Respostas

viniciuspadua
tente isso

this.getClass().getResource(nameObjeto)

ou

this.getClass().getResourceAsStream(nameObjeto)
P

o que tentei fazer e deu erro

o Usuario é minha classe java

InputStream opath =getClass().getResourceAsStream("Usuario");
System.out.println("opath = "+opath.getClass().getName());

Exception in thread "main" java.lang.NullPointerException
	at br.com.exemplojpa.teste.TestePersistenceXML.xxx(TestePersistenceXML.java:78)
	at br.com.exemplojpa.teste.TestePersistenceXML.main(TestePersistenceXML.java:31)
M

Você quer pegar o caminho completo passando uma String? É meio complicado… poderia fazer passando uma instância da classe ou a própria classe, como em:

// a partir de uma classe
	public static String getClasseCompleta(Class<?> clazz) {
		return clazz.getCanonicalName();
	}
	
        // a partir de um objeto
	public static String getClasseCompleta(Object obj) {
		return obj.getClass().getCanonicalName();
	}
	
        // uso:
	public static void main(String[] args) {
		System.out.println(getClasseCompleta(Usuario.class));
		System.out.println(getClasseCompleta(new Usuario()));
	}
	/* saída:
         * br.com.mais.usuario.Usuario
         * br.com.mais.usuario.Usuario
         */
P

obrigado era isso que precisava

Criado 30 de janeiro de 2009
Ultima resposta 30 de jan. de 2009
Respostas 4
Participantes 3