ctbrec-5.3.2-experimental/client/src/main/java/ctbrec/ui/SiteUiFactory.java

70 lines
2.5 KiB
Java

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.mfc.MyFreeCams;
import ctbrec.sites.streamate.Streamate;
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.Fc2LiveUi;
import ctbrec.ui.sites.myfreecams.MyFreeCamsSiteUi;
import ctbrec.ui.sites.streamate.StreamateSiteUi;
public class SiteUiFactory {
private static BongaCamsSiteUi bongaSiteUi;
private static Cam4SiteUi cam4SiteUi;
private static CamsodaSiteUi camsodaSiteUi;
private static ChaturbateSiteUi ctbSiteUi;
private static Fc2LiveUi fc2SiteUi;
private static MyFreeCamsSiteUi mfcSiteUi;
private static StreamateSiteUi streamateSiteUi;
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 Fc2LiveUi((Fc2Live) site);
}
return fc2SiteUi;
} 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;
}
throw new RuntimeException("Unknown site " + site.getName());
}
}