Ver Mensaje Individual
  #3 (permalink)  
Antiguo 06/05/2011, 11:39
rimobio
 
Fecha de Ingreso: diciembre-2007
Ubicación: Valencia
Mensajes: 92
Antigüedad: 16 años, 10 meses
Puntos: 3
Respuesta: Acceso dinámico propiedades y métodos java

Gracias Xerelo

Lo he probado y funciona perfecto.

Mi ejemplo
Código PHP:
//main.java
import controlador.display;
import controlador.obj.casa;
import controlador.obj.piso;


public class 
main {
    
    
     public static 
void main(final String[] args)
     {
         
display dis = new display();
         
casa ca = new casa(2,"Casa");
         
piso pi = new piso("Piso",2);
         
dis.Load("casa"ca);
         
dis.Load("piso"pi);
         
         
         
System.out.println("Casa: " dis.getObj("casa").toString() );
         
System.out.println("Piso: " dis.getObj("piso").toString() );

[
B]                 //Lo que verdaderamente me gustaria seria algo así..
                     
dis.casa.dueño.toString(); [/B]
     
}

Código PHP:
//display.java

package controlador;

import java.util.HashMap;
import java.util.Map;

public class 
display {
    
    private 
Map<String,Objectmpdisplay = new HashMap<String,Object>();
    
    public 
void Load(String name Object obj)
    {
        
mpdisplay.put(nameobj);
    }
    
    public 
Object getObj(String name)
    {    
        return (Object) 
mpdisplay.get(name);        
    }



Código PHP:
//piso.java  y casa.java
package controlador.obj;

public class 
piso {
    
    private 
String due&#241;o;
    
private Integer num;
    

    @
Override
    
public String toString() {
        return 
"piso [dueño=" due&#241;o + ", num=" + num + "]";
    
}
    public 
piso(String due&#241;o, Integer num) {
        
super();
        
this.due&#241;o = dueño;
        
this.num num;
    }
    
    public 
String getDue&#241;o() {
        
return due&#241;o;
    
}
    public 
void setDue&#241;o(String dueño) {
        
this.due&#241;o = dueño;
    
}
    public 
Integer getNum() {
        return 
num;
    }
    public 
void setNum(Integer num) {
        
this.num num;
    }
    
    
}

package controlador.obj;

public class 
casa {
   
    private 
Integer pisos;
    private 
String calle;
    

    @
Override
    
public String toString() {
        return 
"casa [pisos=" pisos ", calle=" calle "]";
    }
    public 
casa(Integer pisosString calle) {
        
super();
        
this.pisos pisos;
        
this.calle calle;
    }
    
    
    
    public 
Integer getPisos() {
        return 
pisos;
    }
    public 
void setPisos(Integer pisos) {
        
this.pisos pisos;
    }
    public 
String getCalle() {
        return 
calle;
    }
    public 
void setCalle(String calle) {
        
this.calle calle;
    }


Lo que busco es poder llamar a una propiedad así
Código PHP:
 dis.casa.due&#241;o
 
dis.piso.num 
Sin usar metodos... hay algún modo de hacer este tipo de cosas en Java.