package ctbrec.ui; import ctbrec.sites.Site; import ctbrec.sites.bonga.BongaCams; import ctbrec.sites.cam4.Cam4; import ctbrec.sites.camsoda.Camsoda; import ctbrec.sites.chaturbate.Chaturbate; import ctbrec.sites.fc2live.Fc2Live; import ctbrec.sites.flirt4free.Flirt4Free; import ctbrec.sites.jasmin.LiveJasmin; import ctbrec.sites.mfc.MyFreeCams; import ctbrec.sites.streamate.Streamate; import ctbrec.sites.stripchat.Stripchat; import ctbrec.ui.sites.bonga.BongaCamsSiteUi; import ctbrec.ui.sites.cam4.Cam4SiteUi; import ctbrec.ui.sites.camsoda.CamsodaSiteUi; import ctbrec.ui.sites.chaturbate.ChaturbateSiteUi; import ctbrec.ui.sites.fc2live.Fc2LiveSiteUi; import ctbrec.ui.sites.flirt4free.Flirt4FreeSiteUi; import ctbrec.ui.sites.jasmin.LiveJasminSiteUi; import ctbrec.ui.sites.myfreecams.MyFreeCamsSiteUi; import ctbrec.ui.sites.streamate.StreamateSiteUi; import ctbrec.ui.sites.stripchat.StripchatSiteUi; public class SiteUiFactory { private static BongaCamsSiteUi bongaSiteUi; private static Cam4SiteUi cam4SiteUi; private static CamsodaSiteUi camsodaSiteUi; private static ChaturbateSiteUi ctbSiteUi; private static Fc2LiveSiteUi fc2SiteUi; private static Flirt4FreeSiteUi flirt4FreeSiteUi; private static LiveJasminSiteUi jasminSiteUi; private static MyFreeCamsSiteUi mfcSiteUi; private static StreamateSiteUi streamateSiteUi; private static StripchatSiteUi stripchatSiteUi; private SiteUiFactory () {} public static synchronized SiteUI getUi(Site site) { if (site instanceof BongaCams) { if (bongaSiteUi == null) { bongaSiteUi = new BongaCamsSiteUi((BongaCams) site); } return bongaSiteUi; } else if (site instanceof Cam4) { if (cam4SiteUi == null) { cam4SiteUi = new Cam4SiteUi((Cam4) site); } return cam4SiteUi; } else if (site instanceof Camsoda) { if (camsodaSiteUi == null) { camsodaSiteUi = new CamsodaSiteUi((Camsoda) site); } return camsodaSiteUi; } else if (site instanceof Chaturbate) { if (ctbSiteUi == null) { ctbSiteUi = new ChaturbateSiteUi((Chaturbate) site); } return ctbSiteUi; } else if (site instanceof Fc2Live) { if (fc2SiteUi == null) { fc2SiteUi = new Fc2LiveSiteUi((Fc2Live) site); } return fc2SiteUi; } else if (site instanceof Flirt4Free) { if (flirt4FreeSiteUi == null) { flirt4FreeSiteUi = new Flirt4FreeSiteUi((Flirt4Free) site); } return flirt4FreeSiteUi; } else if (site instanceof MyFreeCams) { if (mfcSiteUi == null) { mfcSiteUi = new MyFreeCamsSiteUi((MyFreeCams) site); } return mfcSiteUi; } else if (site instanceof Streamate) { if (streamateSiteUi == null) { streamateSiteUi = new StreamateSiteUi((Streamate) site); } return streamateSiteUi; } else if (site instanceof LiveJasmin) { if (jasminSiteUi == null) { jasminSiteUi = new LiveJasminSiteUi((LiveJasmin) site); } return jasminSiteUi; } else if (site instanceof Stripchat) { if (stripchatSiteUi == null) { stripchatSiteUi = new StripchatSiteUi((Stripchat) site); } return stripchatSiteUi; } throw new RuntimeException("Unknown site " + site.getName()); } }