⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 plugininterfaceimpl.java

📁 java 文件下载器。可自定义
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
// Decompiled by Jad v1.5.8e2. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://kpdus.tripod.com/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi space 
// Source File Name:   PluginInterfaceImpl.java

package org.gudy.azureus2.pluginsimpl.local;

import com.aelitis.azureus.core.AzureusCoreComponent;
import com.aelitis.azureus.core.util.CopyOnWriteList;
import java.io.File;
import java.net.URL;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Properties;
import java.util.Set;
import org.gudy.azureus2.core3.logging.LogEvent;
import org.gudy.azureus2.core3.logging.LogIDs;
import org.gudy.azureus2.core3.util.AERunnable;
import org.gudy.azureus2.core3.util.Constants;
import org.gudy.azureus2.core3.util.Debug;
import org.gudy.azureus2.core3.util.DelayedEvent;
import org.gudy.azureus2.core3.util.FileUtil;
import org.gudy.azureus2.core3.util.IndentWriter;
import org.gudy.azureus2.platform.PlatformManagerFactory;
import org.gudy.azureus2.plugins.Plugin;
import org.gudy.azureus2.plugins.PluginConfig;
import org.gudy.azureus2.plugins.PluginEvent;
import org.gudy.azureus2.plugins.PluginEventListener;
import org.gudy.azureus2.plugins.PluginException;
import org.gudy.azureus2.plugins.PluginInterface;
import org.gudy.azureus2.plugins.PluginListener;
import org.gudy.azureus2.plugins.PluginManager;
import org.gudy.azureus2.plugins.PluginState;
import org.gudy.azureus2.plugins.PluginView;
import org.gudy.azureus2.plugins.clientid.ClientIDManager;
import org.gudy.azureus2.plugins.ddb.DistributedDatabase;
import org.gudy.azureus2.plugins.dht.mainline.MainlineDHTManager;
import org.gudy.azureus2.plugins.download.DownloadException;
import org.gudy.azureus2.plugins.download.DownloadManager;
import org.gudy.azureus2.plugins.ipc.IPCInterface;
import org.gudy.azureus2.plugins.ipfilter.IPFilter;
import org.gudy.azureus2.plugins.logging.Logger;
import org.gudy.azureus2.plugins.messaging.MessageManager;
import org.gudy.azureus2.plugins.network.ConnectionManager;
import org.gudy.azureus2.plugins.platform.PlatformManager;
import org.gudy.azureus2.plugins.sharing.ShareException;
import org.gudy.azureus2.plugins.sharing.ShareManager;
import org.gudy.azureus2.plugins.torrent.TorrentManager;
import org.gudy.azureus2.plugins.tracker.Tracker;
import org.gudy.azureus2.plugins.ui.SWT.SWTManager;
import org.gudy.azureus2.plugins.ui.UIManager;
import org.gudy.azureus2.plugins.ui.config.ConfigSection;
import org.gudy.azureus2.plugins.ui.config.Parameter;
import org.gudy.azureus2.plugins.ui.config.PluginConfigUIFactory;
import org.gudy.azureus2.plugins.update.UpdateManager;
import org.gudy.azureus2.plugins.utils.ShortCuts;
import org.gudy.azureus2.plugins.utils.Utilities;
import org.gudy.azureus2.pluginsimpl.local.clientid.ClientIDManagerImpl;
import org.gudy.azureus2.pluginsimpl.local.ddb.DDBaseImpl;
import org.gudy.azureus2.pluginsimpl.local.deprecate.PluginDeprecation;
import org.gudy.azureus2.pluginsimpl.local.dht.mainline.MainlineDHTManagerImpl;
import org.gudy.azureus2.pluginsimpl.local.download.DownloadManagerImpl;
import org.gudy.azureus2.pluginsimpl.local.ipc.IPCInterfaceImpl;
import org.gudy.azureus2.pluginsimpl.local.ipfilter.IPFilterImpl;
import org.gudy.azureus2.pluginsimpl.local.logging.LoggerImpl;
import org.gudy.azureus2.pluginsimpl.local.messaging.MessageManagerImpl;
import org.gudy.azureus2.pluginsimpl.local.network.ConnectionManagerImpl;
import org.gudy.azureus2.pluginsimpl.local.sharing.ShareManagerImpl;
import org.gudy.azureus2.pluginsimpl.local.torrent.TorrentManagerImpl;
import org.gudy.azureus2.pluginsimpl.local.tracker.TrackerImpl;
import org.gudy.azureus2.pluginsimpl.local.ui.UIManagerImpl;
import org.gudy.azureus2.pluginsimpl.local.ui.config.ConfigSectionRepository;
import org.gudy.azureus2.pluginsimpl.local.ui.config.ParameterRepository;
import org.gudy.azureus2.pluginsimpl.local.ui.config.PluginConfigUIFactoryImpl;
import org.gudy.azureus2.pluginsimpl.local.update.UpdateManagerImpl;
import org.gudy.azureus2.pluginsimpl.local.utils.ShortCutsImpl;
import org.gudy.azureus2.pluginsimpl.local.utils.UtilitiesImpl;

// Referenced classes of package org.gudy.azureus2.pluginsimpl.local:
//			PluginConfigImpl, PluginInitializer, PluginStateImpl

public class PluginInterfaceImpl
	implements PluginInterface, AzureusCoreComponent
{
	protected class propertyWrapper extends Properties
	{

		protected boolean initialising;
		final PluginInterfaceImpl this$0;

		public Object setProperty(String str, String val)
		{
			if (!plugin.getClass().getName().startsWith("org.gudy") && !plugin.getClass().getName().startsWith("com.aelitis.") && (str.equalsIgnoreCase("plugin.id") || str.equalsIgnoreCase("plugin.version")))
			{
				if (org.gudy.azureus2.core3.logging.Logger.isEnabled())
					org.gudy.azureus2.core3.logging.Logger.log(new LogEvent(PluginInterfaceImpl.LOGID, 1, (new StringBuilder()).append("Plugin '").append(getPluginName()).append("' tried to set property '").append(str).append("' - action ignored").toString()));
				return null;
			} else
			{
				return super.setProperty(str, val);
			}
		}

		public Object put(Object key, Object value)
		{
			if (!plugin.getClass().getName().startsWith("org.gudy") && !plugin.getClass().getName().startsWith("com.aelitis.") && !initialising && (key instanceof String))
			{
				String k_str = (String)key;
				if (k_str.equalsIgnoreCase("plugin.id") || k_str.equalsIgnoreCase("plugin.version"))
				{
					if (org.gudy.azureus2.core3.logging.Logger.isEnabled())
						org.gudy.azureus2.core3.logging.Logger.log(new LogEvent(PluginInterfaceImpl.LOGID, 1, (new StringBuilder()).append("Plugin '").append(getPluginName()).append("' tried to set property '").append(k_str).append("' - action ignored").toString()));
					return null;
				}
			}
			return super.put(key, value);
		}

		public Object get(Object key)
		{
			return super.get(key);
		}

		protected propertyWrapper(Properties _props)
		{
			this$0 = PluginInterfaceImpl.this;
			super();
			initialising = true;
			Object key;
			for (Iterator it = _props.keySet().iterator(); it.hasNext(); put(key, _props.get(key)))
				key = it.next();

			initialising = false;
		}
	}


	private static final LogIDs LOGID;
	private Plugin plugin;
	private PluginInitializer initialiser;
	private Object initialiser_key;
	protected ClassLoader class_loader;
	private CopyOnWriteList listeners;
	private Set init_complete_fired_set;
	private CopyOnWriteList event_listeners;
	private String key;
	private String pluginConfigKey;
	private Properties props;
	private String pluginDir;
	private PluginConfigImpl config;
	private String plugin_version;
	private Logger logger;
	private IPCInterfaceImpl ipc_interface;
	protected List children;
	private List configSections;
	private PluginStateImpl state;
	private String given_plugin_id;
	private String plugin_id_to_use;

	public PluginInterfaceImpl(Plugin _plugin, PluginInitializer _initialiser, Object _initialiser_key, ClassLoader _class_loader, String _key, Properties _props, String _pluginDir, 
			String _plugin_id, String _plugin_version)
	{
		listeners = new CopyOnWriteList();
		init_complete_fired_set = new HashSet();
		event_listeners = new CopyOnWriteList();
		children = new ArrayList();
		configSections = new ArrayList();
		plugin = _plugin;
		initialiser = _initialiser;
		initialiser_key = _initialiser_key;
		class_loader = _class_loader;
		key = _key;
		pluginConfigKey = (new StringBuilder()).append("Plugin.").append(_key).toString();
		props = new propertyWrapper(_props);
		pluginDir = _pluginDir;
		config = new PluginConfigImpl(this, pluginConfigKey);
		given_plugin_id = _plugin_id;
		plugin_version = _plugin_version;
		ipc_interface = new IPCInterfaceImpl(initialiser, plugin);
		state = new PluginStateImpl(this, initialiser);
	}

	public Plugin getPlugin()
	{
		return plugin;
	}

	public boolean isOperational()
	{
		PluginDeprecation.call("isOperational", given_plugin_id);
		return getPluginState().isOperational();
	}

	public Object getInitializerKey()
	{
		return initialiser_key;
	}

	public PluginManager getPluginManager()
	{
		return initialiser.getPluginManager();
	}

	public String getApplicationName()
	{
		return Constants.APP_NAME;
	}

	public String getAzureusName()
	{
		return "Azureus";
	}

	public String getAzureusVersion()
	{
		return "4.2.0.0";
	}

	/**
	 * @deprecated Method addView is deprecated
	 */

	public void addView(PluginView view)
	{
		getUIManager().getSWTManager().addView(view);
	}

	public void addConfigSection(ConfigSection section)
	{
		ConfigSectionRepository.getInstance().addConfigSection(section);
		configSections.add(section);
	}

	public void removeConfigSection(ConfigSection section)
	{
		ConfigSectionRepository.getInstance().removeConfigSection(section);
		configSections.remove(section);
	}

	public ConfigSection[] getConfigSections()
	{
		return (ConfigSection[])(ConfigSection[])configSections.toArray(new ConfigSection[0]);
	}

	/**
	 * @deprecated Method openTorrentFile is deprecated
	 */

	public void openTorrentFile(String fileName)
	{
		PluginDeprecation.call("openTorrentFile", getPluginID());
		try
		{
			getDownloadManager().addDownload(new File(fileName));
		}
		catch (DownloadException e)
		{
			throw new RuntimeException(e);
		}
	}

	/**
	 * @deprecated Method openTorrentURL is deprecated
	 */

	public void openTorrentURL(String url)
	{
		PluginDeprecation.call("openTorrentURL", getPluginID());
		try
		{
			getDownloadManager().addDownload(new URL(url));
		}
		catch (Throwable e)
		{
			throw new RuntimeException(e);
		}
	}

	public void setPluginName(String name)
	{
		props.put("plugin.name", name);
	}

	public String getPluginName()
	{
		String name = null;
		if (props != null)
			name = (String)props.get("plugin.name");
		if (name == null)
			try
			{
				name = (new File(pluginDir)).getName();
			}
			catch (Throwable e) { }
		if (name == null || name.length() == 0)
			name = plugin.getClass().getName();
		return name;
	}

	public void setPluginVersion(String version)
	{
		props.put("plugin.version", version);
	}

	public String getPluginVersion()
	{
		String version = (String)props.get("plugin.version");
		if (version == null)
			version = plugin_version;
		return version;
	}

	public String getPluginID()
	{
		String id = (String)props.get("plugin.id");
		if (id != null && id.equals("azupdater"))
			plugin_id_to_use = id;
		if (plugin_id_to_use != null)
			return plugin_id_to_use;
		if (id == null)
			id = given_plugin_id;
		if (id == null)
			id = "<none>";
		plugin_id_to_use = id;
		return plugin_id_to_use;
	}

	public boolean isMandatory()
	{
		PluginDeprecation.call("isMandatory", given_plugin_id);
		return getPluginState().isMandatory();
	}

	public boolean isBuiltIn()
	{
		PluginDeprecation.call("isBuiltIn", given_plugin_id);
		return getPluginState().isBuiltIn();
	}

	public Properties getPluginProperties()
	{
		return props;
	}

	public String getPluginDirectoryName()
	{
		return pluginDir;
	}

	public void setPluginDirectoryName(String name)
	{
		initialiser_key = new File(name);
		pluginDir = name;
	}

	public void addConfigUIParameters(Parameter parameters[], String displayName)
	{
		ParameterRepository.getInstance().addPlugin(parameters, displayName);
	}

	public PluginConfig getPluginconfig()
	{

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -