📄 bspluginloader.java
字号:
package edu.ou.kmi.buddyspace.plugins;
/*
* BSPluginLoader.java
*
* Project: BuddySpace
* (C) Copyright Knowledge Media Institute 2002
*
*
* Created on 25 September 2002, 15:36
*/
import javax.swing.*;
import java.util.*;
import org.jabber.jabberbeans.util.*;
import edu.ou.kmi.buddyspace.core.*;
import edu.ou.kmi.buddyspace.gui.*;
import edu.ou.kmi.buddyspace.plugins.conference.*;
import edu.ou.kmi.buddyspace.plugins.groupchat.*;
import edu.ou.kmi.buddyspace.plugins.maps.*;
import edu.ou.kmi.buddyspace.plugins.webbrowser.*;
import edu.ou.kmi.buddyspace.plugins.browse.*;
import edu.ou.kmi.buddyspace.plugins.applauncher.*;
import edu.ou.kmi.buddyspace.plugins.disco.*;
import edu.ou.kmi.buddyspace.plugins.pubsub.*;
import edu.ou.kmi.buddyspace.plugins.plans.*;
import edu.ou.kmi.buddyspace.plugins.buddyfinder.*;
import edu.ou.kmi.buddyspace.plugins.simlink.*;
/**
* <code>BSPluginLoader</code> provides access (loading) to plugins.
*
* @author Jiri Komzak, Knowledge Media Institute, Open University, United Kingdom
*/
public class BSPluginLoader {
private BSMainFrame mainFrame;
private JTabbedPane tabbedPane;
private BSCore core;
private Vector plugins;
/** Constructor */
public BSPluginLoader(BSMainFrame mainFrame, JTabbedPane tabbedPane, BSCore core) {
this.mainFrame = mainFrame;
this.tabbedPane = tabbedPane;
this.core = core;
plugins = new Vector();
}
/** Handles change of connection to connected */
public void connected() {
Enumeration pe = plugins.elements();
while (pe.hasMoreElements()) {
BSPlugin p = (BSPlugin) pe.nextElement();
p.connected();
}
}
/** Handles change of connection to disconnected */
public void disconnected() {
Enumeration pe = plugins.elements();
while (pe.hasMoreElements()) {
BSPlugin p = (BSPlugin) pe.nextElement();
p.disconnected();
}
}
/** Loads conference plugin */
public void loadConference() {
BSConfPlugin confPlugin = new BSConfPlugin(mainFrame, tabbedPane, core);
plugins.add(confPlugin);
}
/** Loads groupchat plugin */
public void loadGroupchat() {
BSGroupchatPlugin groupchatPlugin = new BSGroupchatPlugin(mainFrame, tabbedPane, core);
plugins.add(groupchatPlugin);
}
/** Loads maps plugin */
public void loadMaps() {
BSMapsPlugin mapsPlugin = new BSMapsPlugin(mainFrame, tabbedPane, core);
plugins.add(mapsPlugin);
}
/** Loads web browser plugin */
public void loadWebBrowser() {
BSWebBrowserPlugin webPlugin = new BSWebBrowserPlugin(mainFrame, tabbedPane, core);
plugins.add(webPlugin);
}
/** Loads browse plugin */
public void loadBrowse() {
BSBrowsePlugin browsePlugin = new BSBrowsePlugin(mainFrame, tabbedPane, core);
plugins.add(browsePlugin);
}
/** Loads application launcher plugin */
public void loadAppLauncher() {
BSAppLauncherPlugin appLauncherPlugin = new BSAppLauncherPlugin(mainFrame, tabbedPane, core);
plugins.add(appLauncherPlugin);
}
/** Loads disco plugin */
public void loadDisco() {
BSDiscoPlugin discoPlugin = new BSDiscoPlugin(mainFrame, tabbedPane, core);
plugins.add(discoPlugin);
}
/** Loads pubsub plugin */
public void loadPubsub() {
BSPubsubPlugin pubsubPlugin = new BSPubsubPlugin(mainFrame, tabbedPane, core);
plugins.add(pubsubPlugin);
}
/** Returns pubsub plugin */
public BSPubsubPlugin getPubsubPlugin() {
Enumeration pluginEnum = plugins.elements();
while (pluginEnum.hasMoreElements()) {
BSPlugin p = (BSPlugin) pluginEnum.nextElement();
if (p instanceof BSPubsubPlugin)
return (BSPubsubPlugin) p;
}
return null;
}
/** Loads plans plugin */
public void loadPlans() {
BSPlansPlugin plansPlugin = new BSPlansPlugin(mainFrame, tabbedPane, core);
plugins.add(plansPlugin);
}
/** Loads buddyfinder plugin */
public void loadBuddyFinder() {
BSPlugin buddyFinderPlugin = new BSBuddyFinderPlugin(mainFrame, tabbedPane, core);
plugins.add(buddyFinderPlugin);
}
/** Loads simlink plugin */
public void loadSimLink() {
BSPlugin simLinkPlugin = new BSSimLinkPlugin(mainFrame, tabbedPane, core);
plugins.add(simLinkPlugin);
}
/** Performs action within given namespace for given JID */
public boolean performAction(JID jid, String namespace) {
boolean result = false;
Enumeration pluginEnum = plugins.elements();
while (pluginEnum.hasMoreElements()) {
BSPlugin p = (BSPlugin) pluginEnum.nextElement();
result = result || p.performAction(jid, namespace);
}
return result;
}
/** Gets supported namespaces and their human-readable names */
public void getSupportedNamespaces(Vector namespaces, Vector names) {
namespaces.clear();
names.clear();
Enumeration pluginEnum = plugins.elements();
while (pluginEnum.hasMoreElements()) {
BSPlugin p = (BSPlugin) pluginEnum.nextElement();
p.getSupportedNamespaces(namespaces, names);
}
}
/** Gets tabs for preferences and their names */
public void getPrefTabs(Vector components, Vector names) {
components.clear();
names.clear();
Enumeration pluginEnum = plugins.elements();
while (pluginEnum.hasMoreElements()) {
BSPlugin p = (BSPlugin) pluginEnum.nextElement();
p.getPreferencesTab(components, names);
}
}
/** Stores preferences */
public boolean storePrefs() {
boolean validated = true;
Enumeration pluginEnum = plugins.elements();
while (pluginEnum.hasMoreElements()) {
BSPlugin p = (BSPlugin) pluginEnum.nextElement();
validated = validated && p.storePreferences();
}
return validated;
}
/** Updates LAF of all plug-ins */
public void updateLAF() {
Enumeration pluginEnum = plugins.elements();
while (pluginEnum.hasMoreElements()) {
BSPlugin p = (BSPlugin) pluginEnum.nextElement();
p.updateLAF();
}
}
/** Returns if there are some new messages (alerts) */
public boolean isNewMessage() {
Enumeration pluginEnum = plugins.elements();
while (pluginEnum.hasMoreElements()) {
BSPlugin p = (BSPlugin) pluginEnum.nextElement();
if (p.isNewMessage()) return true;
}
return false;
}
/** Starts corba server for plugin. Returns if successful. */
public boolean startCorbaServer(String namespace) {
boolean result = true;
Enumeration pluginEnum = plugins.elements();
while (pluginEnum.hasMoreElements()) {
BSPlugin p = (BSPlugin) pluginEnum.nextElement();
result = result && p.startCorbaServer(namespace);
}
return result;
}
/** Shuts down corba server for plugin. */
public void shutdownCorbaServer(String namespace) {
Enumeration pluginEnum = plugins.elements();
while (pluginEnum.hasMoreElements()) {
BSPlugin p = (BSPlugin) pluginEnum.nextElement();
p.shutdownCorbaServer(namespace);
}
}
/** Calls open windows for all plugins. */
public void openTheWindows(Vector openWindows, boolean connected) {
Enumeration pluginEnum = plugins.elements();
while (pluginEnum.hasMoreElements()) {
BSPlugin p = (BSPlugin) pluginEnum.nextElement();
p.openTheWindows(openWindows, connected);
}
}
/** Calls add open windows for all plugins.
* The plugins add their open windows for opening when starting next time. */
public void addOpenWindows(Vector openWindows, boolean connected) {
Enumeration pluginEnum = plugins.elements();
while (pluginEnum.hasMoreElements()) {
BSPlugin p = (BSPlugin) pluginEnum.nextElement();
p.addOpenWindows(openWindows, connected);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -