package jas2.util.pluginmanager;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.*;
import java.net.*;
import jas2.util.*;
import java.io.*;
import jas2.util.xml.*;
import org.w3c.dom.*;
public class PluginManager {
private Vector availablelist;
private Vector pluginsloadedatstartup = new Vector();
private PluginXMLReader xmlreader;
private static final String jaspluginfile = "jasplugin.xml";
private static final String jasdtdfile = "jasplugin.dtd";
private String userdir;
private String systemdir;
private boolean readpluginXMLOK;
/**The plugin manager class is used to manage all of the plugins in jas. The pluginmanagerui,
* installpluginsui and updatepluginsui classes receive and report their information from
* this class.
*/
public PluginManager(String system, String user){
userdir = user;
systemdir = system;
}
/**This method will return either of the two possible install directory paths. If the argument
* is true then the system path will be returned, if false then the user path will be returned.
*/
public String getSystemDirectory(){
return systemdir;
}
public String getUserDirectory(){
return userdir;
}
private void addAvailablePluginList(String path, String name, String author, String currversion, String description, String latestversion, String requires, URL[] urldownloads, int state, String[] files, String minJASversion, boolean removeable, boolean installable){
PluginProperties plugin = new PluginProperties(path, name, author, currversion, description, latestversion, requires, urldownloads, state,files, minJASversion, removeable, installable);
availablelist.addElement(plugin);
}
private void addAvailablePluginList(PluginProperties plugin){
availablelist.addElement(plugin);
}
/**Called when a plugin is loaded at startup*/
public void setPluginLoadedAtStart(String pluginname, String version, String path, String file){//file neccessary for pluins not found in xml file
String[] plugininfo = {pluginname,version,path,file};
pluginsloadedatstartup.addElement(plugininfo);
}
protected void removeAvailablePluginList(PluginProperties removeplugin){
availablelist.removeElement(removeplugin);
}
/**Returns list of loaded plugins properties*/
protected Vector getLoadedPluginList(){
Vector loadedplugins = new Vector();
if(!availablelist.isEmpty()){
for(int i=0;i
Ads help maintain this website.