3 import java.lang.reflect.*;
6 import mir.entity.Entity;
7 import mir.storage.Database;
11 * helper class to resolve media handlers using reflection
17 public final class MediaHelper {
19 static String _classPrefix = "mircoders.media.MediaHandler";
21 public static MirMedia getHandler( Entity mediaType )
22 throws MirMediaException {
24 MirMedia mediaHandler;
25 String handlerName = mediaType.getValue("classname");
27 Class handlerClass = Class.forName(_classPrefix+handlerName);
28 return mediaHandler = (MirMedia)handlerClass.newInstance();
29 } catch (Exception e) {
30 throw new MirMediaException ("getHandler -- error in reflection "
35 public static Database getStorage(Entity mediaType, String classPrefix)
36 throws MirMediaException {
38 Database mediaStorage;
39 String storageName = mediaType.getValue("tablename");
41 Class storageClass = Class.forName(classPrefix+storageName);
42 Method m = storageClass.getMethod("getInstance", null);
43 return mediaStorage = (Database)m.invoke(null, null);
44 } catch (Exception e) {
45 throw new MirMediaException ("getStorage -- error in reflection "