1 21 package com.izforge.izpack.installer; 22 23 import java.lang.reflect.Constructor ; 24 25 import com.izforge.izpack.util.AbstractUIProgressHandler; 26 import com.izforge.izpack.util.Debug; 27 28 29 34 public abstract class UnpackerFactory 35 { 36 43 public static IUnpacker getUnpacker(String unpackerclassname, AutomatedInstallData installdata, AbstractUIProgressHandler listener){ 44 IUnpacker unpackerobj = null; 45 try 46 { 47 Class unpackerclass = Class.forName(unpackerclassname); 48 Class [] parametertypes = {AutomatedInstallData.class, AbstractUIProgressHandler.class}; 49 Constructor unpackerconstructor = unpackerclass.getConstructor(parametertypes); 50 Object [] parameter = {installdata,listener}; 51 unpackerobj = (IUnpacker) unpackerconstructor.newInstance(parameter); 52 } 53 catch (NoSuchMethodException e) 54 { 55 Debug.trace("Can't load unpacker: " + unpackerclassname); 56 Debug.trace("Unpacker doesn't implement the desired method"); 57 Debug.trace(e); 58 } 59 catch (Exception e) 60 { 61 Debug.trace("Can't load unpacker: " + unpackerclassname); 62 Debug.trace(e); 63 } 64 return unpackerobj; 65 } 66 } 67 | Popular Tags |