Web Analytics

A cup of my famous java

Pues... estaba programanding el controlador de las cabinas de teletransporte, en la implementación de la interfaz para el método que hace la transferencia no tengo más remedio que tener en cuenta que viajen varios individuos, lo que ocurre es que las cabinas sólo soportan una salida así que hago una copia de todas las propiedades de los beans de entrada...

@override

public void doTransfer(Cabin dest, Cabin src ) throws Exception {

Class [] src classes = src.getClasses();

StringBuffer buf = new StringBuffer(20);

int max = classes.length;

for (int i = 0; i <>

Class theClass = classes[i];

String name = theClass.getName();

buf.append(name.substring(name.lastIndexOf('.' + 1)));

}

buf.insert(0, Constants.USER_PACKAGE);

Class destClasse = Class.forName(buf.toString());

dest.addContent(destClass.newInstance());

dest.addContentProperties(src.getContentProperties());

}



De forma que si se llama así:

...

src.addContent(new com.eduyayo.living.humans.Brundle());

src.addContent(new com.eduyayo.living.insects.Fly());

...

ttrans.doTransfer(dest, src);

...

LOGGER.debug(dest.getClasses()[0].getName());


Se obtiene en consola

18-mar-2008 22:18:47 com.eduyayo.machine.TimeTransporter com.eduyayo.living.BrundleFly

Con lo que se ha creado una instancia de Brundle-Mosca