1 6 7 package com.quikj.application.web.talk.client; 8 9 import java.util.*; 10 11 15 public class ApplicationMediaFactory 16 { 17 18 private ApplicationMediaFactory() 19 { 20 instance = this; 21 } 22 23 public static ApplicationMediaFactory getInstance() 24 { 25 if (instance == null) 26 { 27 new ApplicationMediaFactory(); 28 } 29 30 return instance; 31 } 32 33 public ApplicationMediaInterface createSession(String class_name) 34 { 35 Class app_class = null; 36 try 37 { 38 app_class = Class.forName(class_name); 39 } 40 catch (ClassNotFoundException ex) 41 { 42 return null; 43 } 44 45 Class [] interfaces = app_class.getInterfaces(); 47 48 int i = 0; 49 for (i = 0; i < interfaces.length; i++) 50 { 51 if (interfaces[i].getName().equals("com.quikj.application.web.talk.client.ApplicationMediaInterface") 52 == true) 53 { 54 break; 55 } 56 } 57 58 if (i == interfaces.length) 59 { 60 return null; 62 } 63 64 try 65 { 66 return (ApplicationMediaInterface)app_class.newInstance(); 67 } 68 catch (InstantiationException ex1) 69 { 70 return null; 71 } 72 catch (IllegalAccessException ex2) 73 { 74 return null; 75 } 76 } 77 78 public String getUniqueInstance(TalkSession session) 79 { 80 return session + ":" + (new Date()).getTime() + ":" + random.nextLong(); 81 } 82 83 private static ApplicationMediaFactory instance = null; 84 private Random random = new Random((new Date()).getTime()); 85 } 86 | Popular Tags |