@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